ich möchte in einer Tabelle einen String finden und mir die entsprechende Spaltennummer wiedergeben lassen.
Gibt es bereits eine Funktion die das liefert oder muss ich mir eine basteln?!!
Vielen Dank im Vorraus für die Mühe!
Liebe Grüsse
Lothar
Sub test()
MsgBox Range("A:G").Find("Suchbegriff", searchorder:=xlByRows).Column
End Sub
Function NETSALESCol()
NETSALESCol = Sheets("DATEN").Range("d:aG").Find("60 Materials used", searchorder:=xlByRows).Column
End Function
VBA-Makro verwenden: Du kannst ein einfaches VBA-Makro erstellen, um einen String in einer Tabelle zu finden und die entsprechende Spaltennummer zurückzugeben. Hier ist ein Beispiel:
Sub test()
MsgBox Range("A:G").Find("Suchbegriff", searchorder:=xlByRows).Column
End Sub
Dieser Code sucht innerhalb der Spalten A bis G nach dem "Suchbegriff" und gibt die Spaltennummer in einer Meldung aus.
Excel-Funktion nutzen: Alternativ kannst du die VERGLEICH-Funktion verwenden, um den Text in einer bestimmten Zeile zu suchen. Zum Beispiel:
=VERGLEICH("60 Materials used"; 5:5; 0)
Diese Funktion sucht nach dem Text "60 Materials used" in der 5. Zeile und gibt die Spaltennummer zurück.
Fehler: Funktion gibt #WERT! zurück: Dies kann auftreten, wenn der gesuchte Text nicht im angegebenen Bereich vorhanden ist. Überprüfe die Schreibweise des Suchbegriffs und stelle sicher, dass er im Bereich vorhanden ist.
Fehler: Makro funktioniert nicht: Wenn das VBA-Makro nicht funktioniert, stelle sicher, dass du das Makro in einem Modul eingefügt hast und dass die Funktion Find korrekt verwendet wird. Achte darauf, dass die Sucheigenschaften wie LookIn und LookAt richtig gesetzt sind.
SVERWEIS-Funktion: Du kannst auch die SVERWEIS-Funktion verwenden, um einen Wert in einer Tabelle zu finden und die zugehörige Spalte zurückzugeben. Beachte jedoch, dass diese Funktion nur nach dem ersten Wert in der ersten Spalte einer Tabelle sucht.
FILTER-Funktion (Excel 365): Wenn du Excel 365 verwendest, kannst du die FILTER-Funktion verwenden, um alle Zeilen zu finden, die einem bestimmten Kriterium entsprechen. Beispiel:
=FILTER(A1:G100; A1:A100="Suchbegriff")
Beispiel 1: Angenommen, du hast eine Tabelle mit Verkaufsdaten und möchtest herausfinden, in welcher Spalte der Text "netsales" steht. Du könntest die folgende Funktion verwenden:
=VERGLEICH("netsales"; A1:G1; 0)
Beispiel 2: Um mit VBA zu arbeiten und den Text "60 Materials used" zu finden, kannst du diesen Code verwenden:
Function NETSALESCol()
NETSALESCol = Sheets("DATEN").Range("D:A:G").Find("60 Materials used", searchorder:=xlByRows).Column
End Function
Suchoptionen anpassen: Achte darauf, dass du die Suchoptionen wie LookIn und LookAt in der Find-Methode anpasst, um genauere Ergebnisse zu erhalten. Dies kann dir helfen, die Suche zu optimieren und nur relevante Ergebnisse zu liefern.
Verwendung von Platzhaltern: In der Find-Methode kannst du Platzhalter verwenden, um Teilstrings zu suchen. Zum Beispiel kannst du *Material* verwenden, um alle Variationen zu finden, die "Material" enthalten.
1. Frage
Wie kann ich einen Teilstring in einer Spalte suchen?
Du kannst die Find-Methode in VBA verwenden und Platzhalter wie * verwenden, um einen Teilstring zu finden. Beispiel: Range("A:A").Find("*Teilstring*").
2. Frage
Kann ich die Suche auf mehrere Spalten ausweiten?
Ja, du kannst den Suchbereich in der Find-Methode erweitern, indem du mehrere Spalten angibst, z.B. Range("A:G").
3. Frage
Was kann ich tun, wenn die Suchfunktion nicht funktioniert?
Überprüfe die Schreibweise des Suchbegriffs und stelle sicher, dass er genau so in der Tabelle steht. Achte auch darauf, dass der Suchbereich korrekt definiert ist.