ich würde gerne in einem Tabellenblatt in vorgegebenen Spalten nach einem Begriff suchen und wenn er in der Spalte z.B. 124 gefunden wird soll mir das Ergebnis der Zeile 1 der Spalte angezeigt werden.
cells(1,4) = "Auftraggeber"
cells(1,124) = "Projektleitung" usw.
Wird also der Begriff "Hans" in Spalte 4 und 124 gefunden, dann soll die Meldung wie folgt aussehen:
"Name gefunden" & vbLf "Auftraggeber" & vblf "Projektleitung"
Versuch1:
Sub Auswahl()
Dim rngFind As Range, rngFirst As Range
Dim sSuch As String
Dim sTxt As String, stxt1 As String
sSuch = Range("A1").Value
Set rngFind = ActiveSheet.Cells.Find(what:=sSuch, lookat:=xlPart, LookIn:=xlValues)
If rngFind Is Nothing Then
MsgBox "Name nicht gefunden!"
'mein Makro
Exit Sub
End If
Set rngFirst = rngFind
Do
sTxt = sTxt & rngFind & vbLf
Set rngFind = ActiveSheet.Cells.FindNext(rngFind)
Loop While Not rngFind Is Nothing And _
rngFind.Address rngFirst.Address
MsgBox sTxt
End Sub
Ergebnis:"Hans,Hans"
Versuch2: Bringt garnichts
Sub Name_Such()
Dim arr()
Dim sTxt As String, sSuch As String
Dim Ize As Integer
Dim rng As Range
sSuch = "Hans"
arr = Array(4, 124, 259, 260, 291, 463)
With Sheets("Tabelle1")
For Ize = 1 To 5
Set rng = .Columns(arr(Ize)).Find(sSuch, lookat:=xlWhole, LookIn:=xlValues)
If Not rng Is Nothing Then
sTxt = sTxt & vbLf
sTxt = sTxt & .Cells(1, arr(Ize))
Else
MsgBox "nix"
Exit Sub
Exit For
End If
Next Ize
End With
MsgBox "Name gefunden" & vbLf & sTxt
End Sub
Danke!Gruß
Ludmila