Option Explicit
Sub Suchen_AB()
Dim rngBereich As Range
Dim Suchtext$, tmpText$
'Suchtext erfragen
Suchtext = InputBox("Wonach soll gesucht werden?", "Suchtext")
'Auf Suchen in Spalte 1 und 2 suchen
Set rngBereich = Columns("A:B").Find(Suchtext, LookAt:=xlWhole)
If rngBereich Is Nothing Then
'wenn nicht gefunden
MsgBox "Nicht gefunden!"
Else
With rngBereich
tmpText = Cells(.Row, 3) 'Text aus Spalte 3
End With
MsgBox "Gesucht wurde " & Suchtext & ", Gefunden wurde " & tmpText, 64, "Fündig geworden:"
End If
End Sub
Grüße
Hoffi
Hallo, kein VBA bitte. Ich suche eine Lösung mit Excelformeln oder Funktionen.
Danke
Hallo Yuna,
wenn du eine Auswahlliste haben möchtest, dann ist es am Besten, du beschäfftigst dich mal mit der Funktion Autofilter.
Falls nicht vorhanden, dann füge vor den Listendaten eine Zeile mit Spaltentiteln ein.
Anschließen aktivierst du über Menü Daten--Filter--Autofilter die Filterfunktion.
Jetzt kannst du in den Dropdown-Menüs die gewünschten Kriterien für den Filter einstellen.
Gruß
Franz
Hallo Franz,
ja, die Autofilterfunktion kenne ich. Aber gibt es keine andere Lösung? Ich will nicht immer diese Aktivieren müssen, weil ja in dieser Tabelle auch noch gearbeitet wird. Somit müsst ich diese immer deaktivieren und dann wenn ich die Daten brauche aktivieren, bzw. einstellen. Leichter währe es, wenn mir die Daten nach meinen Suchkriterieen ausgegeben werden...
Wenn es keine andere Lösung gibt ausser die VBA, kannst du mir diese dann noch mal genau erklären. Wie ich Sie einstelle und wo die Daten ausgegeben werden?
Gruß Yuna
Hallo Yuna,
ich hab mal versucht es in eine Funktion zu packen:
Public Function Suche_Yuna(ByVal Suchtext As String, rngBereich As Range, Spalte As Long)
If rngBereich.Find(Suchtext, , , xlWhole) Is Nothing Then
Suche_Yuna = "Nix"
Exit Function
Else
With rngBereich.Find(Suchtext, , , xlWhole)
Suche_Yuna = Cells(.Row, Spalte) 'Spalte muss als Zahl angegeben werden C=3
End With
End If
End Function
die Funkion in ein Allgemeines Modul:
Alt+F11 drücken, dann über einfügen Modul ein Modul einfügen, Code da rein kopieren, speichern.
Danach steht die die Funktion Suche_Yuna über die Funktionsauswahl zur Verfügung.
Parameter eingeben
in Zelle D1 z.Bsp =Suche_Yuna("mobilcom";$A:$B;3) ACHTUNG, die Spalte wo der Rückgabewert drinn steht, muss als Zahl eingegeben werden, hier 3 = Spalte C
Enter drücken und dein Rückgabewert steht in D1
Bin jetzt leider ausser Haus, gucke aber später nochmal rein, sonst morgen früh.
Grüße
Hoffi
Hallo Hoffi,
hab alles gemacht, wie du es beschrieben hast, bekomme auch ein Gerät aufgelistet, aber kann man die Funktion auch so umschreiben, dass er mir mehrere Geräte anzeit. Denn mit dieser Funktion jetzt zeigt Excel mir von drei möglichen Geräten nur eins an.
Also das ist nähmlich so, ich hab da eine Liste mit Geräten, da stehen ausser den Gerätenamen auch die Lieferanten, das Eingangsdatum und wann es verkauft wurde und vieles mehr. Ich brauche nun die Namen von allen Geräten die noch nicht verkauft wurden von einem bestimmten Lieferanten.
Vielleicht hätte ich das als Erklärung gleich schreiben sollen, aber ich mache das zum ersten mal und weiß nicht wie ich hier meine Fragen stellen soll...
Kannst du mir da auch was geniales basteln?
LG Yuna
Hallo,
die Informationen hätte man wirklich früher gebraucht :-)
Mit VBA würde es mit UF und Listbox oder ComboBox funktionieren, aber VBA wolltest Du ja nicht.
Es gibt aber auch von Excel selbst Funktionen, die Dein Problem lösen würden.
Eine Möglichkeit ist der Autofilter. Eine andere die Pivot Tabelle. Guck Dir mal die beiden Funktionen in der Hilfe an und wenn Du nicht zurecht kommst, dann melde Dich wieder mit expliciten Fragen.
Ein Tipp noch.
Stelle am besten eine kleine Beispieltabelle mit genauer Beschreibung was Du haben möchtest hier ein, dann bekommst Du auf jeden Fall schnelle und kompetente Hilfe vom Forum.
Ich stell Die Frage nochmal auf offen.
Grüße
Hoffi
Hallo Yuna,
ohne VBA ist der Autofilter die optimale Lösung. Ggf. solltestest du zur Verbesserung des Eingabekomforts noch im Menü Daten die Funktion Liste--Liste erstellen nutzen.
Ich hab dir mal eine Beispieldatei erstellt in der die Datensätze gemäß Filterkriterien in ein separates Blatt kopiert werden. Die Filterkriterien könen dabei via Comboboxen ausgewählt werden.
https://www.herber.de/bbs/user/54991.xls
Mit kleinen Anpassungen könnte man es auch so einrichten, dass die Makros und die Tabellenblätter mit den gefilterten Daten in einer separaten Arbeitsmappe gespeichert werden. So wäre in der Daten-Datei kein VBA-Code.
Gruß
Franz
Hallo Franz,
hier ist eine Beispieldatei
https://www.herber.de/bbs/user/54993.xls
Du hast geschrieben:
Mit kleinen Anpassungen könnte man es auch so einrichten, dass die Makros und die Tabellenblätter mit den gefilterten Daten in einer separaten Arbeitsmappe gespeichert werden. So wäre in der Daten-Datei kein VBA-Code.
genau das will ich...
In der Beispielstabelle haben wir drei Spalten. Also ich will in der Extratabelle die nicht beantragten geräte von Mobilcom aufgelistet haben.
Ich habe es versucht das mal zu erstellen, bin aber gescheitert, da ich mich damit nicht auskenne.
Währe toll, wenn du es mir erklären könntest.
Gruß Yuna
Hab vergessen die Frage auf offen zu stellen.
LG Yuna
Hallo Yuna,
ich hab die Makro mal so angepasst, dass die zu filternden Daten in einer anderen Arbeitsmappe gesucht werden.
https://www.herber.de/bbs/user/55004.xls
Du muss im Blatt "Filter" den Dateinamen anpassen, dann sollte es funktionieren.
Erklären warum/wie man es machen muss ist etwas schwierig.
Wenn du dir die Einzelnen Prozeduren anschaust, dann wirst du auch nachvollziehen könne, wie man den Zugriff auf eine Externe Datei regeln kann.
Kleine Besonderheit ist die 2. Combobox im Blatt Filter. Da hier ein Datumsfeld als Kriterium vorliegt, kann man die Combobox nicht direkt mit einer Zelle verlinken, da das Datum bei Comboboxen nicht korrekt verarbeitet wird. Bei Änderung der Listenauswahl wird der angezeigte Wert(Text) in eine Zahl umgewandelt und in die Zelle B3 eingetragen.
Gruß
Franz
|