Hallo Profis, habe eine Tabelle mit ca. 600 Zeilen und unterschiedlichen Inhalten. In Spalte A steht z.B. A1495-A1501 Wenn ich nach A1496 suche wird nichts gefunden, logisch Die Werte liegen also zwischen A1495 und A1501
Hapt ihr eine Idee, das auch die dazwischenliegenden Werte gefunden werden und die Zeile oder Feld markiert wird?
Mir fehlt momentan jeglicher Ansatz, VBA oder Hilfsspalten egal, bin für jede Hilfe offen.
Moin! Text in Spalten (für A), Trennzeichen - Ein einziges(!) Beispiel lässt etwas zuviel Platz für Mutmaßungen … Lade Mal Deine Datei hoch! (Spalte A reicht)
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Wichtig: Die Formel ist leider sehr statisch. Der Aufbau der Zellen muss immer identisch sein. Somit ein Buchstabe plus 4-stellige Nummern. Der Buchstabe wird nicht beachtet. Würde es denn in deinem Fall z.B. A1503 UND B1503 geben? Dann müsste ein zusätzlicher Abgleich des Buchstabens eingebaut werden.
Hoffe die Formel hilft für einen ersten Ansatz weiter.
Folgende(r) 1 Nutzer sagt Danke an el-rettev für diesen Beitrag:1 Nutzer sagt Danke an el-rettev für diesen Beitrag 28 • AndreLieske
oder falls es deine Umgebung zulässt, mit Makro. Ist eigentlich selbsterklärend, Du klickst auf 'Neue Suche', gibst einen Teilsuchbegriff ein und 'OK' Dann wird nur noch die Zeile angezeigt. Zum lösen des Filters auf "'Komplette Tabelle' klicken.
14.11.2023, 05:45 (Dieser Beitrag wurde zuletzt bearbeitet: 14.11.2023, 05:45 von AndreLieske.)
Hallo J.K.H. das Macro funktioniert leider nicht, so wie es soll. Gebe mal "A1496" ein. Hallo el-rettev, erstmal Danke für deine Mühe. Habe die Suche in L16 &M16 eingebaut und die Formel angepasst. Funktioniert fast, wenn ich "E3616" eingebe, soll der Artikel sich lt. Ausgabe in Zeile 476 befinden, er ist aber in Zeile 330 Der Fehler scheint ab Zeile 64 zu passieren Was ist verkehrt?
Bevor ich jetzt alle Artikel durchgehen muss, kannst du mir vllt sagen, ob es die gleiche Artikelnummer mit unterschiedlichen Buchstaben in deinem Artikelstamm gibt. Siehe meine vorherige Anmerkung:
Zitat:Der Buchstabe wird nicht beachtet. Würde es denn in deinem Fall z.B. A1503 UND B1503 geben? Dann müsste ein zusätzlicher Abgleich des Buchstabens eingebaut werden.
14.11.2023, 09:01 (Dieser Beitrag wurde zuletzt bearbeitet: 14.11.2023, 09:34 von J.K.H..)
Hi,
Hallo J.K.H. das Macro funktioniert leider nicht, so wie es soll. Gebe mal "A1496" ein.
Dann kommt bei mir die Meldung das der Suchbegriff nicht vorhanden ist, mit OK dann wieder die ursprüngliche Tabelle. Was soll denn genau passieren bei Eingabe von A1496?
Hier noch mal ein angepasster Code, der wesentlich schneller ist.
Code:
Sub NeueSuche() Dim ws As Worksheet Dim searchTerm As String Dim lastRow As Long Dim found As Boolean
' Referenz auf das Arbeitsblatt Set ws = ThisWorkbook.Sheets("Industriepreisliste_IND") ' Ersetzen Sie "NameDesArbeitsblatts" durch den tatsächlichen Namen Ihres Arbeitsblatts
' Benutzereingabe für den Suchbegriff searchTerm = InputBox("Geben Sie einen Teilbegriff ein:", "Teilsuche")
' Überprüfen, ob der Benutzer eine Eingabe gemacht hat If searchTerm <> "" Then ' Letzte Zeile in Spalte A finden lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row found = False
' Alle Filter entfernen ws.AutoFilterMode = False
' Filtern basierend auf dem Suchbegriff ws.Range("A17:A" & lastRow).AutoFilter Field:=1, Criteria1:="*" & searchTerm & "*"
' Überprüfen, ob Zeilen gefunden wurden If ws.Cells(ws.Rows.Count, "A").End(xlUp).Row > 18 Then found = True End If
' Meldung anzeigen, wenn nichts gefunden wurde If Not found Then MsgBox "Suchbegriff nicht in der Datei.", vbExclamation ' Alle Zeilen wieder anzeigen ws.AutoFilterMode = False End If End If End Sub
Sub KompletteTabelle() Dim ws As Worksheet
' Referenz auf das Arbeitsblatt Set ws = ThisWorkbook.Sheets("Industriepreisliste_IND") ' Ersetzen Sie "NameDesArbeitsblatts" durch den tatsächlichen Namen Ihres Arbeitsblatts
' Alle Zeilen wieder anzeigen ws.AutoFilterMode = False ws.Rows.Hidden = False End Sub
Hab mir die Formel nochmal angeschaut. Wie gesagt, bin davon ausgegangen, dass es keine überschneidende Bereiche mit unterschiedlichen Buchstaben gibt. Aber anscheinend gibt es die. Um bei deinem Beispiel zu bleiben: E3616 Die Zeile wird nicht richtig angegeben, da es den Bereich A3609-A3625 gibt, sowie E3616-E3618. Bei beiden Bereichen liegt der Suchwert "3616" in dem jeweiligen Bereichen. Hier eine Alternative mit zusätzlichen Abgleich des Buchstabens. Muss dann als bedingte Formatierung hinterlegt werden.