ich schlage mich gerade mit meinem gefährlichen Halbwissen in VBA rum, und hoffe mir kann hier jemand helfen. Möchte aber noch erwähnen, dass ich mich schon durch diverse Fundstellen für ähnliche Probleme gearbeitet habe. Bislang ohne Erfolg. Ob mit oder ohne Set .. find .. oder andere Lösungen bringt, scheinbar, alles nichts. Offensichtlich hat mein Hirn ein Programfehler wenn es um das Verständnis der Suchmethode geht.
Mein Problem:
Ich habe zwei Tabellen (Übersicht und VE). In der Übersicht stehen in Spalte A ab Zeile 15 mehrere Namen untereinander in Spalte A. Diese Namen sollen nun in Tabelle VE Spalte A ab Zeile 12, auch untereinander in Spalte A, jeweils einzeln gesucht werden. Wenn gefunden soll in Tabelle A zwei Zellen neben dem Namen ein Link hinterlegt werden.
Kurz:
Nimm den ersten Namen aus Übersicht suche ihn in Tabelle VE, wenn vorhanden setze Link. Nimm den nächsten Namen aus Übersicht und suche wieder
Was bislang bei folgenden Code passiert: Er läuft scheinbar einmal durch, beim ersten Ergebnis wird ein Link gesetzt, dann folgt die Fehlmeldung Laufzeitfehler 91 Objektvariable oder With-Blockvariable nicht festgelegt. Markiert wird die Zeile Selection. Find ..
Der Sinn und Zweck mag sich jetzt nicht erschließen. Ich würde auch gerne die Datei einstellen, aber IT-Sicherheit würde sofort Alarm schlagen und mein Rechner neu aufgesetzt .
Kann mir bitte jemand helfen?
Dim InhVergl As Variant
Dim w As long
w = 15
Do While Cells(w, 1) ""
Sheets("Übersicht").Activate
InhVergl = Cells(w, 1)
Sheets("VE").Activate
Range(Cells(12, 1), Cells(201, 1)).Select
Selection.Find(What:=InhVergl, After:=ActiveCell, LookIn:=xlFormulas,_
LookAt:=xlPart, Searchorder:=xlByColumns, Searchdirection:=xlNext,_
MatchCase:=False, SearchFormat:=False).Activate
If ActiveCell = InhVergl Then
Sheets("Übersicht").Activate
Cells(w, 1).Offset(0, 2).Activate
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:="VE!A1",_
TextToDisplay:="VE"
End If
w = w + 1
Loop
End Sub