Ich möchte ein Unterprogramm zu einem VBA-Makro hinzufügen, das in einem Excel-Sheet "LB Rack" im Bereich B2: B200 nach einem Wert ("Tag") sucht. Wenn das Tag gefunden wird, möchte ich, dass es ein anderes Sub "InsertSVblock" ausführt. Wenn das Tag nicht gefunden wird, möchte ich, dass es eine Msgbox-Nachricht ausgibt, und führe den Unterbefehl "CheckforLBmatch (tag)" aus, der ein anderes Blatt durchsucht.VBA Untersuche Excel
Meine Methode ist eine SVERWEIS auf dem Bereich zu tun, und prüfen, ob Fehler 1004.
Es ist bis zu einem Punkt Aufarbeiten - wenn es keine Übereinstimmung findet, ist es die Fehlermeldung ausgibt, und läuft " CheckforLBmatch (Tag) ". Aber wie kann ich "InsertSVblock" ausführen, wenn eine Übereinstimmung gefunden wird? Oder gibt es einen besseren Weg, dies zu tun?
Public Sub CheckforLBmatch(tag)
Dim xlApp As excel.Application
Dim xlbook As excel.Workbook
Dim xlSht As excel.Worksheet
Set xlApp = CreateObject("Excel.Application")
Set xlbook = GetObject("C:\07509\LB_RACKTMC.xlsx")
Set xlSht = xlbook.Sheets("LB RACK")
Set LBrng = xlSht.Range("B2:B200")
On Error GoTo ErrorHandler
Debug.Print xlApp.WorksheetFunction.VLookup(tag, LBrng, 3, False)
Exit Sub
ErrorHandler:
If Err.Number = 1004 Then
MsgBox "No SV component in LB Rack for " & tag
Err.Clear
CheckforET200match (tag)
End If
Resume Next
End Sub
[hier] (http://www.ozgrid.com /VBA/find-method.htm) ist eine gute Ressource für die Verwendung von Find. Es wird geprüft, ob etwas gefunden wurde. – gtwebb