PDA

Vollständige Version anzeigen : Dim b As Range


wolfgang1969
11.07.2015, 19:03
Hallo liebe VBA´ler,

ich habe da ein Problem und komme einfach nicht weiter, vielleicht könnt Ihr mir helfen. Im Netz bin ich folgenden Code gestoßen der in meinen Tabellen auch soweit funktioniert.

Dim b As Range, Begriff As String

Begriff = Worksheets("K_Liste").Range("B9")

If Begriff = "" Then Exit Sub

Set b = Worksheets("Baukasten").Columns(1).Find(Begriff)
If Not b Is Nothing Then
MsgBox "Diese Nummer existiert" _
& vbNewLine & "und lautet: " & b.Value, vbInformation, "Copyright"
Else
MsgBox "Die Nummer passt nicht für dieses Formular", vbExclamation, "Copyright"
Worksheets("K_Liste").Range("A12:B48,").ClearContents
End If
Set b = Nothing

Exit Sub

Jetzt möchte ich aber bei der Meldung "Diese Nummer existiert" (in Zelle B9 ist eine Zahl) weitere befehle ausgeführt werden wie z. B. vlookup, und bei "Die Nummer passt nicht für dieses Formular" soll abbgebrochen werden.

Kann mir jemand da helfen?

Gruß Wolfgang

Steffl72
11.07.2015, 20:00
Hallo Wolfgang,

ich habe mal das Exit innerhalb des Else-Zweiges verschoben, das andere ist mir zu vage.

Dim b As Range, Begriff As String

Begriff = Worksheets("K_Liste").Range("B9")

If Begriff = "" Then Exit Sub

Set b = Worksheets("Baukasten").Columns(1).Find(Begriff)
If Not b Is Nothing Then
MsgBox "Diese Nummer existiert" _
& vbNewLine & "und lautet: " & b.Value, vbInformation, "Copyright"
Else
MsgBox "Die Nummer passt nicht für dieses Formular", vbExclamation, "Copyright"
Worksheets("K_Liste").Range("A12:B48,").ClearContents
Exit Sub
End If
Set b = Nothing

wolfgang1969
12.07.2015, 12:26
Hallo Stefan,
vielen Dank, es löscht zwar nicht den angebenen Bereich, aber ich kann auch ohne dieser Funktion leben.
Danke
Gruß Wolfgang

Steffl72
12.07.2015, 14:10
Hallo Wolfgang,

wenn der Suchbegriff nicht gefunden wird, löscht Excel den Zellbereich A12:B48 aus dem Tabellenblatt K-Liste.