AW: Wert via Msgbox suchen-Zeilenwert ausgeben
18.10.2019 15:48:27
Werner
Hallo Maya,
den Offset(, 8) mußt du wieder anpassen - ich hab keine Ahnung wo du da deine Bereiche stehen hast.
Option Explicit
Public Sub PLZ_suchen()
Dim raFund As Range, raFund1 As Range, raBereich As Range, raZelle As Range
Dim strPLZ As String, strWert As String, strAusgabe As String, loLetzte As Long
strPLZ = InputBox("Bitte eine Postleitzahl eingeben.", "Postleitzahl suchen")
If Not strPLZ = vbNullString Then
With Worksheets("plz")
Set raFund = .Columns(2).Find(what:=strPLZ, LookIn:=xlValues, lookat:=xlWhole)
If Not raFund Is Nothing Then
strWert = raFund.Offset(, 8)
With Worksheets("Region")
loLetzte = .Cells(.Rows.Count, 1).End(xlUp).Row
Set raBereich = .Range(Cells(3, 1), .Cells(loLetzte, 1))
Set raFund = raBereich.Find(what:=strWert, LookIn:=xlValues, _
lookat:=xlWhole)
Set raFund1 = .Columns(1).Find(what:=strWert, LookIn:=xlValues, _
lookat:=xlWhole, searchdirection:=xlPrevious)
If Not raFund Is Nothing And Not raFund1 Is Nothing Then
Set raBereich = .Range(.Cells(raFund.Row, 1), .Cells(raFund1.Row, 1))
For Each raZelle In raBereich
If raZelle.Offset(, 2) "" Then
If strAusgabe = vbNullString Then
strAusgabe = raZelle.Offset(, 2) & ", Telefon: " _
& raZelle.Offset(, 3) & ", Mail: " & raZelle.Offset(, 4)
Else
strAusgabe = strAusgabe & vbLf & raZelle.Offset(, 2) _
& ", Telefon: " & raZelle.Offset(, 3) & ", Mail: " _
& raZelle.Offset(, 4)
End If
End If
Next raZelle
MsgBox strAusgabe
Else
MsgBox "Der Bereich wurde in Region nicht gefunden."
End If
End With
Else
MsgBox "Die gesuchte Postleitzahl ist nicht vorhanden."
End If
End With
End If
Set raFund = Nothing: Set raFund1 = Nothing: Set raBereich = Nothing
End Sub
Das ganze in einer Messagebox - völlig unübersichtlich.
Gruß Werner