Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1636to1640
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Suchen und weiter suchen

Suchen und weiter suchen
28.07.2018 21:39:46
Ludmila
Hallo,
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

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suchen und weiter suchen
28.07.2018 21:59:26
Sepp
Hallo Ludmila,
Sub Name_Such()
  Dim arrCol() As Variant
  Dim rng As Range
  Dim strSearch As String, strMsg As String, lngIndex As Long
  
  strSearch = "Hans"
  
  arrCol = Array(4, 124, 259, 260, 291, 463)
    
  With Sheets("Tabelle1")
    For lngIndex = 0 To Ubound(arrCol)
      Set rng = .Columns(arrCol(lngIndex)).Find(What:=strSearch, LookAt:=xlWhole, LookIn:=xlValues, _
        MatchCase:=False, SearchFormat:=False)
        
      If Not rng Is Nothing Then
        strMsg = strMsg & .Cells(1, arrCol(lngIndex)) & vbLf
        Set rng = Nothing
        Exit For
      End If
    Next
  End With
  
  If Len(strMsg) Then
    MsgBox "Name '" & strSearch & "' gefunden:" & vbLf & vbLf & strMsg
  Else
    MsgBox "!Nix!"
  End If
  
  Set rng = Nothing
End Sub

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0


 ABCDEF
1Gruß Sepp
2
3

Anzeige
Das 'Exit For' muss natürlich raus! o.T.
28.07.2018 22:11:05
Sepp
 ABCDEF
1Gruß Sepp
2
3

Anzeige
AW: Das 'Exit For' muss natürlich raus! o.T.
28.07.2018 22:12:45
Ludmila
Hallo Sepp,
da war ich zu langsam.
Danke!
Gruß
Ludmila
AW: Suchen und weiter suchen
28.07.2018 22:11:55
Ludmila
Hallo Sepp,
vielen Dank für Deine Unterstützung.
Leider wird nur die erste Fundstelle ausgelesen.
s.Beispielmappe.
Ich möchte gerne wissen in welchen Spalten der Name eingetragen ist. Wenn dieser z.B. in allen 6 Spalten erscheint, dann solen auch alle 6 erscheinen.
Danke!
Gruß
Ludmila
https://www.herber.de/bbs/user/122974.xlsm
AW: Geht doch ...
29.07.2018 08:57:28
Dieter(Drummer)
Hallo Ludmila,
wenn du "Exit For" aus deinem Code entfernst, wie Sepp geschrieben hat, geht es doch.
Gruß, Dieter(Drummer)
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige