Mit VBA Spalte mit werten aus TextBox durchsuchen und Zellennummer ausgeben
#1
Hallo an alle,

auch wenn ich schon einige mal etwas vergleichbares gefunden habe hat nichts der gleichen bei mir Funktioniert.

Zu meiner Excel Tabelle

In dem Tabellenblatt "Suchfenster" habe ich eine TextBox in der ein Wert steht, dieser soll in dem Tabellenblatt "Eingabe" in den Spalten F,G,H gesucht werden mittels CommandButton. In der Spalte F ist der wert immer eindeutig (6stellige Zahl), In der Spalte G sind es immer 5Stellige Zahlen aber es können auch mehrere 5stellige zahlen dort stehen (12345, 12346, 12347) und in der Spalte H sind es entweder zweistellige, 4 stellige oder KO+4stellige Zahlen.

In einer weiteren TextBox möchte ich dann die Zellennummer ausgegeben bekommen sofern etwas gefunden wurde, wenn nicht gerne eine msg. mit nachricht das nix gefunden wurde.
Sofern das nicht zu kompliziert wird wäre eine msg. nachricht sinnfoll wenn mehr als eine Zelle gefunden wurde, was eig. nicht passieren dürfte.


Ich wäre wirklich dankbar für einen Lösungsvorschlag.

P.S.: Ich bin zwar schon lange mit Excel unterwegs aber mit VBA hatte ich bisher noch nicht viel zu tun.

Ich danke euch schonmal im Voraus.
Top
#2
Hallo Collatus,

Du könntest den Code für eine Suchaktionen mit dem Makrorekorder aufzeichnen.
Dann zeichnest Du noch die Eingabe vom Suchwert in die TextBox auf.

Stelle beide codes hier ein und wir machen was draus. Poste dann noch den Namen der anderen TextBox, wo das Ergebnis rein soll.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#3
Hallo,

ich habe hier mal meine vereinfachte Excel-Tabelle hochgeladen.

Ich hoffe das beschreibt mein anliegen etwas vereinfacht.

Eine Lösung wäre mit =Vergleich zu arbeiten, dafür müsste ich aber mit drei verschiedenen Zellen arbeiten und diese Lösung findet keinen Treffer wenn ich zwei Ma.-Nr. in einer zelle habe.

Vielen Dank für eure Antworten.


Angehängte Dateien
.xlsx   Suchen von Nummern.xlsx (Größe: 19,02 KB / Downloads: 12)
Top
#4
Hallo,

ich habe es jetzt geschafft nach den Werten zu suchen, jedoch findet er keine werte mit doppelten Werten in der Zelle.

Meine Überlegung ist in der Schleife, wenn er nichts findet, eine weitere Schleife einzuarbeiten:

Set D = Worksheets("Eingabe").Range("G:G").Find( _
    What:=Suchbegriff, _
    LookIn:=xlPart, _
    Lookat:=xlWhole)

und erst wenn er dann nichts findet die msgBox. Ist das möglich und sinnvoll?


Angehängte Dateien
.xlsm   Kopie von Suchen von Nummern.xlsm (Größe: 27,79 KB / Downloads: 5)
Top
#5
Hallo,

meinst Du so?

Code:
Private Sub CommandButton1_Click()
   Dim C As Range, D As Range
  
  
   Suchbegriff = TextBox1
   Set C = Worksheets("Eingabe").Range("F:H").Find( _
   What:=Suchbegriff, _
   LookIn:=xlValues, _
   Lookat:=xlWhole)
   If C Is Nothing Then
      MsgBox "1. Umlauf: Nicht gefunden"
      Set D = Worksheets("Eingabe").Range("F:H").Find( _
      What:=Suchbegriff, _
      LookIn:=xlValues, _
      Lookat:=xlPart)
      If D Is Nothing Then
         MsgBox "Größere Suche nichts gefunden"
      Else
         TextBox2.Value = D.Row
      End If
   Else
      TextBox2.Value = C.Row
   End If
End Sub
Gruß Stefan
Win 10 / Office 2016
Top
#6
Das sieht doch schon sehr gut aus Smile

Ich werde das später mal in die Tabelle einpflegen und test.

Vielen Dank Thumps_up
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste