Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
968to972
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
968to972
968to972
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Wert in Datei suchen - Tabellenname ausgeben
17.04.2008 11:40:00
Lirana
Hallo zusammen,
wie oben beschrieben möchte ich einen Wert in nachfolgenden Tabellenblättern suchen (in den nachfolgenden Blättern sind Verlinkungen zur eigentlichen Wertetabelle, also wäre eine Suche nach der Verllinkung auch möglich) und falls er auftaucht dann den Tabellenblattnamen ausgegeben haben.
Ob Formel oder VBA ist egal - ich freue mich über jede Antwort!
Lg, Lirana

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wert in Datei suchen - Tabellenname ausgeben
17.04.2008 11:51:00
Beverly
Hi,
eine Möglichkeit mit VBA

Sub zellinhalt_suchen()
Dim raZelle As Range                            ' Variable für die zu suchende Zelle
Dim varSuchbegriff As Variant                   ' Variable für den Suchbegriff
Dim strAbfrage As String                        ' Variable für den Abbruch der Suche
Dim strStartAdresse As String                   ' Variable für die Adresse der ersten  _
gefundenen Zelle in der aktuellen Tabelle
Dim wsTabelle As Worksheet                      ' Variable für Tabelle als Objekt
'   Suchbegriff abfragen
varSuchbegriff = InputBox("Bitte einen Suchbegriff eingeben:", "Suchabfrage", "Abend")
'   ein Suchbegriff wurde eingegeben
If varSuchbegriff  "" Then
'       Schleife über alle Tabellen
For Each wsTabelle In ThisWorkbook.Worksheets
With Worksheets(wsTabelle.Name)
'               Suchbegriff im benutzten Bereich suchen
Set raZelle = .UsedRange.Find(varSuchbegriff, , , xlWhole, , xlNext)
'               wenn Suchbegriff gefunden
If Not raZelle Is Nothing Then
'                   gefundene Zelle in die linke obere Ecke
Application.Goto Reference:=.Range(raZelle.Address), Scroll:=True
If MsgBox(wsTabelle.Name & Chr(9) & raZelle.Address(0, 0) & Chr(10) & Chr( _
10) & "Suche beenden?" _
, vbYesNo + vbQuestion, "Suchbegriff gefunden in:") = 6 Then
'                       Prozedur verlassen wenn auf Ja geklickt wurde
Exit Sub
Else
'                       Adresse der ersten gefundenen Zelle auf Variable schreiben
strStartAdresse = raZelle.Address
Do
'                           nächste Zelle suchen
Set raZelle = .UsedRange.FindNext(raZelle)
'                           keine weitere Zelle gefunden, deshalb Schleife verlassen
If raZelle.Address = strStartAdresse Then Exit Do
'                           gefundene Zelle in die linke obere Ecke
Application.Goto Reference:=.Range(raZelle.Address), Scroll:=True
If MsgBox(wsTabelle.Name & Chr(9) & raZelle.Address(0, 0) & Chr(10)  _
& Chr(10) & "Suche beenden?" _
, vbYesNo + vbQuestion, "Suchbegriff gefunden in:") = 6 Then
'                               Prozedur verlassen wenn auf Ja geklickt wurde
Exit Sub
End If
Loop
End If
Else
'                   laufende Tabelle ist nicht die letzte
If wsTabelle.Index  Worksheets.Count Then
If MsgBox(wsTabelle.Name & Chr(10) & Chr(10) & "Suche beenden?" _
, vbYesNo + vbQuestion, "Suchbegriff nicht gefunden in:") = 6 Then
'                            Prozedur verlassen wenn auf Ja geklickt wurde
Exit Sub
End If
Else
'                       Information, dass in der letzten Tabelle der Suchbegriff nicht vorkommt
If MsgBox(wsTabelle.Name & Chr(10) & Chr(10) & "Suche beendet",  _
vbOKOnly + vbExclamation, _
"Suchbegriff nicht gefunden in:") = vbOK Then Exit Sub
End If
End If
End With
Next wsTabelle
'       Information, dass Suche beendet
MsgBox "Keine weitere Zelle gefunden", vbExclamation, "Suche beendet"
'       Variable leeren
Set raZelle = Nothing
End If
End Sub




Anzeige
AW: Wert in Datei suchen - Tabellenname ausgeben
17.04.2008 13:25:00
Lirana
Hallo Beverly
- vielen Dank erstmal für deine Mühe, allerdings habe ich mich unklar ausgedrückt, sorry dafür!
Ich wollte nicht über eine Inputbox selbst aktiv suchen, sondern zu einer Spalte mit vorgegebenen Werten (Tabellenblatt A) eine zweite Spalte erstellen, mit den jeweiligen Tabellennamen in denen diese Werte auftauchen (ähnlich einem Sverweis..suche Zelle A2 in allen Tabellenblättern und gib den Tabellennamen aus in denen A2 vorkommt).
also z.B.
Wert: Taucht auf in:
Lirana Sheet 1
Beverly Sheet 1, Sheet 2
Hast du da evtl. eine Idee?
Lg, Lirana

Anzeige
AW: Wert in Datei suchen - Tabellenname ausgeben
17.04.2008 13:44:00
Beverly
Hi Lirana,

Sub zellinhalt_suchen()
Dim raZelle As Range
Dim inZeile As Integer
Dim strTabellen As String
Dim wsTabelle As Worksheet
For inZeile = 1 To IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row,  _
Rows.Count)
For Each wsTabelle In ThisWorkbook.Worksheets
If wsTabelle.Name  "Tabelle1" Then
With wsTabelle
Set raZelle = .UsedRange.Find(Cells(inZeile, 1), , , xlWhole, , xlNext)
If Not raZelle Is Nothing Then strTabellen = strTabellen & ", " & wsTabelle. _
Name
End With
End If
Next wsTabelle
Cells(inZeile, 2) = Mid(strTabellen, 3)
strTabellen = ""
Next inZeile
Set raZelle = Nothing
End Sub




Anzeige
AW: Wert in Datei suchen - Tabellenname ausgeben
17.04.2008 17:40:37
Lirana
Hm, ich glaube ich muss noch tüfteln wie ich's auf meine Datei anpasse, aber schon jetzt VIELEN DANK Beverly - das hilft mir sehr!
Schönen Abend noch!
Lg, Lirana

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige