Anzeige
Archiv - Navigation
1440to1444
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Do Schleife bei einer Suchfunktion (VBA UserForm)

Do Schleife bei einer Suchfunktion (VBA UserForm)
20.08.2015 15:28:23
Tobias
Hallo zusammen,
ich versuche Namen zu suchen in einer Tabelle. In A stehen die Nachnamen, in B Vornamen. Das ganze soll in einer VBA User Form geschehen.
Einzelne Nachnamen zu suchen ist kein Problem, Namen wie Müller, Meier etc. ;) kommen jedoch häufiger vor und sollen dann in Kombination mit dem Vornamen ausgegeben werden. Das Problem ist, dass ich nicht weiß wie ich eine passende Schleife da rein setzte, dass der solange sucht bis Vorname und Nachname in der gleiche Row gefunden werden.
Das ist mein Ansatz:
Private Sub Such_Click()
Dim i As Integer
Dim rZelle        As Range
Dim rZelle2        As Range
Dim sSuchbegriff  As String
Dim sSuchbegriff2  As String
If Trim$(TextBox1.Value)  "" Then
sSuchbegriff = Trim$(TextBox1.Value)
Else
MsgBox "Sie müssen einen Suchbegiff eingeben - danke.", _
48, "   Hinweis für " & Application.UserName
Exit Sub
End If
If Trim$(TextBox2.Value)  "" Then
sSuchbegriff2 = Trim$(TextBox2.Value)
Else
MsgBox "Sie müssen einen Suchbegiff eingeben - danke.", _
48, "   Hinweis für " & Application.UserName
Exit Sub
End If
Do
i = 1
Set rZelle = ThisWorkbook.Worksheets("Daten").Cells(i, 1).Find(what:=sSuchbegriff, LookAt:= _
xlPart, LookIn:=xlValues)
Set rZelle2 = ThisWorkbook.Worksheets("Daten").Cells(i, 2).Find(what:=sSuchbegriff2, LookAt:= _
xlPart, LookIn:=xlValues)
If rZelle.Row = rZelle2.Row Then
With ThisWorkbook.Worksheets("Daten").Columns(1)
If Not rZelle Is Nothing Then
Label2.Caption = .Range("A" & rZelle.Row).Value
Label3.Caption = .Range("B" & rZelle.Row).Value
Label4.Caption = .Range("C" & rZelle.Row).Value
Label5.Caption = .Range("D" & rZelle.Row).Value
Label6.Caption = .Range("E" & rZelle.Row).Value
Label7.Caption = .Range("F" & rZelle.Row).Value
Label44.Caption = .Range("G" & rZelle.Row).Value
Label9.Caption = .Range("H" & rZelle.Row).Value
Label10.Caption = .Range("I" & rZelle.Row).Value
Label11.Caption = .Range("J" & rZelle.Row).Value
Label12.Caption = .Range("K" & rZelle.Row).Value
Label13.Caption = .Range("L" & rZelle.Row).Value
Label14.Caption = .Range("M" & rZelle.Row).Value
Label15.Caption = .Range("N" & rZelle.Row).Value
Label16.Caption = .Range("O" & rZelle.Row).Value
Label17.Caption = .Range("P" & rZelle.Row).Value
Label39.Caption = .Range("Q" & rZelle.Row).Value
Label40.Caption = .Range("R" & rZelle.Row).Value
Label41.Caption = .Range("S" & rZelle.Row).Value
Label42.Caption = .Range("T" & rZelle.Row).Value
Label43.Caption = .Range("U" & rZelle.Row).Value
Label45.Caption = .Range("V" & rZelle.Row).Value
' usw.
Else
MsgBox "Der Begriff  """ & sSuchbegriff & """  wurde nicht gefunden.", _
48, "   Hinweis für " & Application.UserName
With TextBox1
.SetFocus
.SelStart = 0
.SelLength = Len(.Text)
End With
End If
End With
Else
i = i + 1
Loop
End If
Set rZelle = Nothing
Set rZelle2 = Nothing
End Sub
Das mit der Schleife stimmt vorne und hinten nicht,... wäre über Hilfe sehr dankbar.
Liebe Grüße
P.S vielleicht ist die schleife ja auch ein komplett falscher Ansatz, bitte um Aufklärung ;)

21
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Do Schleife bei einer Suchfunktion (VBA UserForm)
20.08.2015 16:04:55
Matthias
Hallo Tobias,
ich bin leider in dem Thema nicht 100%ig bewandert, aber du könntest für die gefundenen Nachnamen die deiner Suche entsprechen dir einen String aus Vor- und Nachname machen lassen
(Var1=rZelle.value & Cells(rZelle.row,rZelle.Column+1).value)
und das gleiche natürlich mit deinen zwei Suchbegriffen. Wenn diese Strings übereinstimmen, dann BÄM.
lg Matthias

AW: Do Schleife bei einer Suchfunktion (VBA UserForm)
20.08.2015 16:15:19
Tobias
aber trotzdem müsste hier doch auch eine schleife rein, dass wenn es nicht übereinstimmt in die nächste zeile gegangen wird ?
Stellst du dir das etwa so vor:

var1 = rZelle.Value & Cells(rezlle.Row, rZelle.Column + 1).Value
var2 = suchbegriff1 & suchberiff2
If var1 = var2 Then
auf rzelle2 könnte ich bei dieser Herangehensweise verzichten gell?

Anzeige
AW: Do Schleife bei einer Suchfunktion (VBA UserForm)
21.08.2015 08:49:18
Matthias
Guten Morgen Tobias,
stimmt, rZelle2 ist dann nicht mehr nötig, nach ihr wird nicht gesucht.
Ich würde mit FindNext einfach solange den nächsten Nachnamen suchen, bis Var1 und Var2 sich gleichen und dann die Schleife verlassen. Die Namen waren nur ein Schnellschuss für den Grundgedanken, ich würd eventuell aussagekräftigere vergeben, Bsp.: sFullName1.
With ThisWorkbook.Worksheets("Daten").Range("A:A")
Set rZelle = .Find(sSuchbegriff, lookin:=xlValues)
If Not rZelle Is Nothing Then
firstAddress = rZelle.Address
Do
var1 = rZelle.Value & Cells(rZelle.Row, rZelle.Column + 1).Value
var2 = sSuchbegriff1 & sSuchberiff2
If var1 = var2 Then Exit Do
Set rZelle = .FindNext(rZelle)
Loop While Not rZelle Is Nothing And rZelle.Address  firstAddress
End If
End With 
'(Quelle: https://msdn.microsoft.com/de-de/library/office/Ff196143.aspx - Beispiel 1)
Diese Schleife funktioniert übrigens auch wenn die Namen nicht sortiert sind. Da du von "in die nächste Zeile gehen" geredet hast, nehme ich an dass sie es aber sind und damit untereinander stehen, richtig?
Kurze Frage zu deinem Code aus dem ersten Post:
Warum hast du eigentlich deine Suche auf eine Zelle begrenzt (Cells(i,1)) und dann i hochgezählt mit der Schleife, statt in der gesamten Spalte zu suchen. Dann könntest du nämlich gleich auf den Suchbefehl verzichten und einfach mit For i = 1 to "letzteZeile" alle Zeilen durchgehen, was bei langen Dokumenten durchaus Ressourcen frisst.
lg Matthias

Anzeige
AW: Do Schleife bei einer Suchfunktion (VBA UserForm)
21.08.2015 08:52:35
Matthias
Kleiner Fehler noch:
hinter sSuchbegriff die 1 entfernen:
var2 = sSuchbegriff1 & sSuchberiff2

Tut mir leid, das hab' ich so aus deinem vorigen Post übernommen ohne groß zu schaun.
lg Matthias

AW: Do Schleife bei einer Suchfunktion (VBA UserForm)
21.08.2015 10:07:03
Tobias
Hi Matthias,
erstmal vielen Dank für deine Hilfe.
Das mit den Cells war einfach so, habe viel ausprobiert ;).
Den Code hab ich so eingefügt. Richtig, die Namen sind alphabetisch sortiert, also muss man im Normalfall nur höchstens 2-3 Zeilen weiter runter.
Er zeigt bei der Suche leider immer noch den ersten Nachnamen an, und ignoriert dass die Vornamen nicht übereinstimmen. Die var1 = var2 Überprüfung scheint also nicht so ganz zu funktionieren.
Kannst du mir den firstaddress Teil einmal näher erläutern? Den verstehe ich nicht so ganz. Ist das einfach eine neue string? Weil sonst startet der Code gar nicht.
Lg
Tobias

Anzeige
AW: Do Schleife bei einer Suchfunktion (VBA UserForm)
21.08.2015 10:22:32
Matthias
Jupp,
das ist ein neuer String, welcher der Überprüfung dient ob ich in meiner Suche bereits mit dem Dokument durch bin oder nicht. Wie du siehst wird ihm die Adresse des ersten gefundenen Eintrags übergeben. Sobald diese rZelle diese Adresse wieder aufweist wird die Schleife mittels "While Not" beendet.
Eine Frage, hast du in deinem Code "Option Explicit" ganz oben stehn? Wenn nicht nutz das mal. Am Anfang ist es zwar nervig, aber man gewöhnt sich schnell daran. Dann findet man solche Fehler wie deinen relativ einfach. Ist als ob man die Oma korrekturlesen lässt. Ich verrats jedenfalls nicht woran es liegt ;)
lg Matthias

Anzeige
AW: Do Schleife bei einer Suchfunktion (VBA UserForm)
21.08.2015 10:31:24
Tobias
Hey,
ja klar, das steht drin. Das g Suchbegriff ist es nicht, das hab ich schon rausgemacht ;)
Es muss an der Überprüfung liegen oder ähnlichem, ich kann egal was für den Vornamen eingeben, es wird nicht berücksichtigt. Er sucht lediglich nach den Nachnamen und zeigt den ersten an den er gefunden hat.
Oder hab ich etwas anderes übersehen?

AW: Do Schleife bei einer Suchfunktion (VBA UserForm)
21.08.2015 10:37:36
Tobias

var2 = sSuchbegriff1 & sSuchberiff2

bzw. ich hab das g ergänzt ;)

AW: Do Schleife bei einer Suchfunktion (VBA UserForm)
21.08.2015 11:18:41
Tobias
und ich hab leider rausgefunden, dass der var1 string nicht abgespeichert wird. Er erkennt cells(...).value nicht als text an sondern gibt nur den ersten Namen aus.

Anzeige
AW: Do Schleife bei einer Suchfunktion (VBA UserForm)
21.08.2015 14:24:47
Matthias
Hallo Tobias,
mit diesem Makro hab ich in folgender Liste getestet, funktioniert prima:
Z A B
1 Peter Hansl
2 Stefan Hansl
3 Steffen Laver
4 Peter Meier
5 Maik Meier
6 Peter Zwickert
7 Robert Mayer
Sub Suche()
Dim sSuchbegriff As String
Dim sSuchbegriff2 As String
Dim rZelle As Range
Dim firstAddress As String
Dim Var1 As String
Dim Var2 As String
sSuchbegriff = "Peter"
sSuchbegriff2 = "Zwickert"
Var2 = sSuchbegriff & sSuchbegriff2
With ThisWorkbook.Worksheets("Tabelle2").Range("A:A") '###Worksheets("Daten")
Set rZelle = .Find(sSuchbegriff, LookIn:=xlValues)
If Not rZelle Is Nothing Then
firstAddress = rZelle.Address
Do
Var1 = rZelle.Value & Cells(rZelle.Row, rZelle.Column + 1).Value
MsgBox "Var1: " & Var1 & "  Var2: " & Var2 '###
If Var1 = Var2 Then GoTo Fund
Set rZelle = .FindNext(rZelle)
Loop While Not rZelle Is Nothing And rZelle.Address  firstAddress
Set rZelle = Nothing 'kein Fund
MsgBox "Suchbegriff nicht gefunden."
Exit Sub '###Goto KeinFund
End If
Fund:
MsgBox "Gefundene Zelle: " & rZelle.Address '###
End With
End Sub
Mit '### gekennzeichte Zeilen sind von dir zu ändern bzw. von mir zu Testzwecken drinn, aber siehst du ja selbst. Damit kann ich jeden einzelnen Treffer für sSuchbegriff anzeigen lassen und prüfen. Dabei ist mir aufgefallen, dass ich ja keinen Abzweig für den Fall dass es den gesuchten Namen nicht gibt geschaffen habe. Dies sei hiermit nachgeholt. ExitSub muss an der Stelle nicht sein, wenn du noch andere Sachen vorhast.
Auch braucht man Var2 nicht mit jedem Schleifendurchlauf neu zu bestimmen, desshalb nach oben gepackt.
Ja, ich weis ich hab Vor- und Nachnamen vertauscht, das sollte aber nix ändern.
Kann es sein, dass du "sSuchbgegriff1" schreibst (s. letzter Post von dir)? Du hast die Variable doch ganz oben ohne 1 verwendet. Cells.value übergibt bei mir jedenfalls wie gewollt den Wert (Text) der Zelle (s. Ausgabe der MsgBox im Testprogramm). Hoffe es liegt nur daran.
lg Matthias

Anzeige
AW: Do Schleife bei einer Suchfunktion (VBA UserForm)
21.08.2015 14:24:53
Matthias
Hallo Tobias,
mit diesem Makro hab ich in folgender Liste getestet, funktioniert prima:
Z A B
1 Peter Hansl
2 Stefan Hansl
3 Steffen Laver
4 Peter Meier
5 Maik Meier
6 Peter Zwickert
7 Robert Mayer
Sub Suche()
Dim sSuchbegriff As String
Dim sSuchbegriff2 As String
Dim rZelle As Range
Dim firstAddress As String
Dim Var1 As String
Dim Var2 As String
sSuchbegriff = "Peter"
sSuchbegriff2 = "Zwickert"
Var2 = sSuchbegriff & sSuchbegriff2
With ThisWorkbook.Worksheets("Tabelle2").Range("A:A") '###Worksheets("Daten")
Set rZelle = .Find(sSuchbegriff, LookIn:=xlValues)
If Not rZelle Is Nothing Then
firstAddress = rZelle.Address
Do
Var1 = rZelle.Value & Cells(rZelle.Row, rZelle.Column + 1).Value
MsgBox "Var1: " & Var1 & "  Var2: " & Var2 '###
If Var1 = Var2 Then GoTo Fund
Set rZelle = .FindNext(rZelle)
Loop While Not rZelle Is Nothing And rZelle.Address  firstAddress
Set rZelle = Nothing 'kein Fund
MsgBox "Suchbegriff nicht gefunden."
Exit Sub '###Goto KeinFund
End If
Fund:
MsgBox "Gefundene Zelle: " & rZelle.Address '###
End With
End Sub
Mit '### gekennzeichte Zeilen sind von dir zu ändern bzw. von mir zu Testzwecken drinn, aber siehst du ja selbst. Damit kann ich jeden einzelnen Treffer für sSuchbegriff anzeigen lassen und prüfen. Dabei ist mir aufgefallen, dass ich ja keinen Abzweig für den Fall dass es den gesuchten Namen nicht gibt geschaffen habe. Dies sei hiermit nachgeholt. ExitSub muss an der Stelle nicht sein, wenn du noch andere Sachen vorhast.
Auch braucht man Var2 nicht mit jedem Schleifendurchlauf neu zu bestimmen, desshalb nach oben gepackt.
Ja, ich weis ich hab Vor- und Nachnamen vertauscht, das sollte aber nix ändern.
Kann es sein, dass du "sSuchbgegriff1" schreibst (s. letzter Post von dir)? Du hast die Variable doch ganz oben ohne 1 verwendet. Cells.value übergibt bei mir jedenfalls wie gewollt den Wert (Text) der Zelle (s. Ausgabe der MsgBox im Testprogramm). Hoffe es liegt nur daran.
lg Matthias

Anzeige
AW: Do Schleife bei einer Suchfunktion (VBA UserForm)
21.08.2015 14:29:22
Tobias
Jetzt klappt es doch irgendwie :)

With ThisWorkbook.Worksheets("Daten").Range("A1:A1000")
Set rzelle = .Find(sSuchbegriff, LookIn:=xlValues)
If Not rzelle Is Nothing Then
Do
firstaddress = rzelle.Address
var1 = rzelle.Value & Cells(rzelle.Row, rzelle.Column + 1).Value
var2 = sSuchbegriff & sSuchbegriff2
If var1 = var2 Then Exit Do
Set rzelle = .FindNext(rzelle)
Loop While Not rzelle Is Nothing And rzelle.Address  firstaddress
End If
End With
vielleicht siehst du den Unterschied ;)

AW: Do Schleife bei einer Suchfunktion (VBA UserForm)
21.08.2015 15:06:44
Matthias
Hallo Tobias,
ich bin mir sicher du meinst nicht die Groß-/Kleinschreibung deiner Variablen, genausowenig wie die Änderung der Suchrange. Die Leerzeile ist auch ganz nett ;)
firstAddress in die Schleife zu nehmen hebelt den Sinn dieser Variablen aus. Du definierst sie ja nach bei Beginn jedes Durchgangs neu, und zwar mit der Zelle des letzten gefundenen "Müller"-Eintrags. Damit ist sie nicht mehr DAS Original. Das heisst: "Setzen, Sechs!"
lg Matthias

Anzeige
AW: Do Schleife bei einer Suchfunktion (VBA UserForm)
21.08.2015 15:33:18
Tobias
ja du hast recht, ich war nur verwundert.. es ging wirklich kurzeitig, nun aber nicht mehr. Warum weiß ich auch nicht.
Aber das Problem, dass die var1 nicht beide Namen umfasst besteht trotzdem. Hab eine msgbox eingebaut und diese zeigt mir bei var1 immer nur den Nachnamen, bei var2 Nach- und Vorname an. So kann der Vergleich var1 = var2 ja nicht funktionieren.
Die Lösung scheint in weiter ferne :D

AW: Do Schleife bei einer Suchfunktion (VBA UserForm)
21.08.2015 16:34:06
Matthias
Ich verstehe nicht warum...
Var1 = rZelle.Value & Cells(rZelle.Row, rZelle.Column + 1).Value

bei dir kein Ergebnis liefert. Deine Vornamen stehen doch eine Spalte rechts der Nachnamen, richtig?
Da sich die Spalte nicht ändert, könntest du auch eine 2 draus machen bzw. schreiben:
Var1 = rZelle.Value & Range("B" & rZelle.Row).Value

Das sollte aber wenig am Sachverhalt ändern.
Egal bei welcher Variante geht noch:
Var1 = rZelle.Value & Range("B" & rZelle.Row).Formula

Wobei ich da kein Fan von bin.
lg

Anzeige
AW: Do Schleife bei einer Suchfunktion (VBA UserForm)
21.08.2015 19:24:01
Michael
Hi zusammen,
vermutlich deshalb, weil der . vor cells fehlt ...
Var1 = rZelle.Value & Cells(rZelle.Row, rZelle.Column + 1).Value

und sich das auf ein anderes Blatt bezieht.
Viel einfacher geht es (prinzipiell) so:
Var1 = rZelle.Value & rZelle.Offset(0, 1).Value

damit sind nämlich auch evtl. "seltsame" Blattzugehörigkeiten ausgeschlossen.
Ich hab das trotzdem mal nachgebastelt und lade die Datei hoch:
https://www.herber.de/bbs/user/99769.xls
Der Code ist hie und da "geglättet".
Schöne Grüße,
Michael

AW: Do Schleife bei einer Suchfunktion (VBA UserForm)
24.08.2015 08:28:57
Tobias
Top, funktioniert nun einwandfrei!
Var1 = rZelle.Value & rZelle.Offset(0, 1).Value

löst das Problem und ich kann nun ohne Probleme Vor- und Nachname suchen.
Vielen Dank euch beiden!!

freut mich, danke für die Rückmeldung owT
24.08.2015 15:03:53
Michael

Nachtrag
21.08.2015 19:25:39
Michael
Wenn es sich nicht gerade um 500 Namen handelt, finde ich die Lösung mit den "abhängigen Komboboxen" eigentlich viel Netter: http://www.j-hennekes.de/1298803.htm

AW: Do Schleife bei einer Suchfunktion (VBA UserForm)
20.08.2015 16:26:28
Tobias
Habe daraus mal die Schleife gemacht, funktioniert aber leider nicht.
Es kommt immer: Der Begriff wurde nicht gefunden.
Wie kann es nun weiter gehen?
Trotzdem danke Matthias, denke es ist ein guter Ansatz!!
Private Sub Such_Click()
Dim i As Integer
Dim rZelle        As Range
Dim rZelle2        As Range
Dim sSuchbegriff  As String
Dim sSuchbegriff2  As String
Dim var1 As String
Dim var2 As String
If Trim$(TextBox1.Value)  "" Then
sSuchbegriff = Trim$(TextBox1.Value)
Else
MsgBox "Sie müssen einen Suchbegiff eingeben - danke.", _
48, "   Hinweis für " & Application.UserName
Exit Sub
End If
If Trim$(TextBox2.Value)  "" Then
sSuchbegriff2 = Trim$(TextBox2.Value)
Else
MsgBox "Sie müssen einen Suchbegiff eingeben - danke.", _
48, "   Hinweis für " & Application.UserName
Exit Sub
End If
i = 0
While var1  var2
Set rZelle = ThisWorkbook.Worksheets("Daten").Cells(1 + i, 1).Find(what:=sSuchbegriff, LookAt:= _
xlPart, LookIn:=xlValues)
var1 = rZelle.Value & Cells(rZelle.Row, rZelle.Column + 1).Value
var2 = sSuchbegriff & sSuchbegriff2
i = i + 1
Wend
With ThisWorkbook.Worksheets("Daten").Columns(1)
If Not rZelle Is Nothing Then
Label2.Caption = .Range("A" & rZelle.Row).Value
Label3.Caption = .Range("B" & rZelle.Row).Value
Label4.Caption = .Range("C" & rZelle.Row).Value
Label5.Caption = .Range("D" & rZelle.Row).Value
Label6.Caption = .Range("E" & rZelle.Row).Value
Label7.Caption = .Range("F" & rZelle.Row).Value
Label44.Caption = .Range("G" & rZelle.Row).Value
Label9.Caption = .Range("H" & rZelle.Row).Value
Label10.Caption = .Range("I" & rZelle.Row).Value
Label11.Caption = .Range("J" & rZelle.Row).Value
Label12.Caption = .Range("K" & rZelle.Row).Value
Label13.Caption = .Range("L" & rZelle.Row).Value
Label14.Caption = .Range("M" & rZelle.Row).Value
Label15.Caption = .Range("N" & rZelle.Row).Value
Label16.Caption = .Range("O" & rZelle.Row).Value
Label17.Caption = .Range("P" & rZelle.Row).Value
Label39.Caption = .Range("Q" & rZelle.Row).Value
Label40.Caption = .Range("R" & rZelle.Row).Value
Label41.Caption = .Range("S" & rZelle.Row).Value
Label42.Caption = .Range("T" & rZelle.Row).Value
Label43.Caption = .Range("U" & rZelle.Row).Value
Label45.Caption = .Range("V" & rZelle.Row).Value
' usw.
Else
MsgBox "Der Begriff  """ & sSuchbegriff & """  wurde nicht gefunden.", _
48, "   Hinweis für " & Application.UserName
With TextBox1
.SetFocus
.SelStart = 0
.SelLength = Len(.Text)
End With
End If
End With
Set rZelle = Nothing
Set rZelle2 = Nothing
End Sub

AW: Do Schleife bei einer Suchfunktion (VBA UserForm)
20.08.2015 16:26:33
Tobias
Habe daraus mal die Schleife gemacht, funktioniert aber leider nicht.
Es kommt immer: Der Begriff wurde nicht gefunden.
Wie kann es nun weiter gehen?
Trotzdem danke Matthias, denke es ist ein guter Ansatz!!
Private Sub Such_Click()
Dim i As Integer
Dim rZelle        As Range
Dim rZelle2        As Range
Dim sSuchbegriff  As String
Dim sSuchbegriff2  As String
Dim var1 As String
Dim var2 As String
If Trim$(TextBox1.Value)  "" Then
sSuchbegriff = Trim$(TextBox1.Value)
Else
MsgBox "Sie müssen einen Suchbegiff eingeben - danke.", _
48, "   Hinweis für " & Application.UserName
Exit Sub
End If
If Trim$(TextBox2.Value)  "" Then
sSuchbegriff2 = Trim$(TextBox2.Value)
Else
MsgBox "Sie müssen einen Suchbegiff eingeben - danke.", _
48, "   Hinweis für " & Application.UserName
Exit Sub
End If
i = 0
While var1  var2
Set rZelle = ThisWorkbook.Worksheets("Daten").Cells(1 + i, 1).Find(what:=sSuchbegriff, LookAt:= _
xlPart, LookIn:=xlValues)
var1 = rZelle.Value & Cells(rZelle.Row, rZelle.Column + 1).Value
var2 = sSuchbegriff & sSuchbegriff2
i = i + 1
Wend
With ThisWorkbook.Worksheets("Daten").Columns(1)
If Not rZelle Is Nothing Then
Label2.Caption = .Range("A" & rZelle.Row).Value
Label3.Caption = .Range("B" & rZelle.Row).Value
Label4.Caption = .Range("C" & rZelle.Row).Value
Label5.Caption = .Range("D" & rZelle.Row).Value
Label6.Caption = .Range("E" & rZelle.Row).Value
Label7.Caption = .Range("F" & rZelle.Row).Value
Label44.Caption = .Range("G" & rZelle.Row).Value
Label9.Caption = .Range("H" & rZelle.Row).Value
Label10.Caption = .Range("I" & rZelle.Row).Value
Label11.Caption = .Range("J" & rZelle.Row).Value
Label12.Caption = .Range("K" & rZelle.Row).Value
Label13.Caption = .Range("L" & rZelle.Row).Value
Label14.Caption = .Range("M" & rZelle.Row).Value
Label15.Caption = .Range("N" & rZelle.Row).Value
Label16.Caption = .Range("O" & rZelle.Row).Value
Label17.Caption = .Range("P" & rZelle.Row).Value
Label39.Caption = .Range("Q" & rZelle.Row).Value
Label40.Caption = .Range("R" & rZelle.Row).Value
Label41.Caption = .Range("S" & rZelle.Row).Value
Label42.Caption = .Range("T" & rZelle.Row).Value
Label43.Caption = .Range("U" & rZelle.Row).Value
Label45.Caption = .Range("V" & rZelle.Row).Value
' usw.
Else
MsgBox "Der Begriff  """ & sSuchbegriff & """  wurde nicht gefunden.", _
48, "   Hinweis für " & Application.UserName
With TextBox1
.SetFocus
.SelStart = 0
.SelLength = Len(.Text)
End With
End If
End With
Set rZelle = Nothing
Set rZelle2 = Nothing
End Sub

312 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige