Anzeige
Archiv - Navigation
732to736
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
732to736
732to736
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhalt von allen Textfeldern dursuchen
allen
Ich habe eine Arbeitsmappe mit 200 Tabellenblättern (steigend). In jedem Tabellenblatt befinden sich Textfelder, die es gilt, nach ihrem Inhalt zu durchsuchen.
Die einfache Suchfunktion von excel klammert aber den inhalt der textfelder aus, also komme ich nur über VBA weiter.
Mein Ziel ist es "durchsuche ALLE Tabellenblätter nach dem Stichwort xxx sowohl im Zellinhalt als auch in den Textfeldern und liste mir die Namen der Blätter im Tabellenblatt yyy auf".
über eine rasche antwort oder einen denkanstoss wäre ich dankbar!!!!!

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

Betreff
Benutzer
Anzeige
AW: Inhalt von allen Textfeldern dursuchen
14.02.2006 19:06:56
allen
Hi,
welche Art Textfeld ist gemeint?
mfg Jens
AW: Inhalt von allen Textfeldern dursuchen
14.02.2006 19:18:25
allen
Es geht um das Standart-Textfeld in der Symbolleiste "Zeichnen". Also VBA unabhängig.
AW: Inhalt von allen Textfeldern dursuchen
14.02.2006 19:21:04
allen
Hi David,
sowas in der Art (das Ausgabeblatt hat den Namen "Übersicht"):
Option Explicit

Sub do_it()
Dim C As Range
Dim Ws As Worksheet
Dim Sh As Shape
Dim B As Boolean
Dim varSearch As Variant
varSearch = Application.InputBox("Bitte Suchbegriff eingeben...", "Suchbegriff")
If varSearch = False Then Exit Sub
With Worksheets("Übersicht")
.Range("A:A").Clear
.Range("A1").Value = "Suchbegriff " & varSearch & " gefunden in..."
.Range("A1").Font.Bold = True
For Each Ws In ThisWorkbook.Worksheets
If Ws.Name <> "Übersicht" Then
Set C = Ws.Cells.Find(varSearch, lookat:=xlWhole) 'ggfls. auf xlPart ändern
If C Is Nothing Then
For Each Sh In Ws.Shapes
If Sh.TextFrame.Characters.Text = "Boris" Then 'analog xlPart ggfls. mit Instr prüfen
B = True
Exit For
End If
Next Sh
Else
B = True
End If
Set C = Nothing
End If
If B Then
.Cells(Rows.Count, 1).End(xlUp).Offset(1) = Ws.Name
B = False
End If
Next Ws
.Columns(1).AutoFit
End With
End Sub

Grüße Boris
Anzeige
Uups... - kleine Korrektur
14.02.2006 19:32:48
{Boris}
Hi,
hatte varSearch erst im Nachhinein hinzugefügt und den konstanten Suchbegriff "Boris" nicht entfernt. Zudem sollte man auch noch den Shape-Typen abfragen - das habe ich jetzt mal mit dem Namen gemacht (gehe davon aus, dass du die Dinger nicht umbenannt hast):
Option Explicit

Sub do_it()
Dim C As Range
Dim Ws As Worksheet
Dim Sh As Shape
Dim B As Boolean
Dim varSearch As Variant
varSearch = Application.InputBox("Bitte Suchbegriff eingeben...", "Suchbegriff")
If varSearch = False Then Exit Sub
With Worksheets("Übersicht")
.Range("A:A").Clear
.Range("A1").Value = "Suchbegriff " & varSearch & " gefunden in..."
.Range("A1").Font.Bold = True
For Each Ws In ThisWorkbook.Worksheets
If Ws.Name <> "Übersicht" Then
Set C = Ws.Cells.Find(varSearch, lookat:=xlWhole)
If C Is Nothing Then
For Each Sh In Ws.Shapes
If InStr(1, Sh.Name, "Text") Then
If Sh.TextFrame.Characters.Text = varSearch Then
B = True
Exit For
End If
End If
Next Sh
Else
B = True
End If
Set C = Nothing
End If
If B Then
.Cells(Rows.Count, 1).End(xlUp).Offset(1) = Ws.Name
B = False
End If
Next Ws
.Columns(1).AutoFit
End With
End Sub

Grüße Boris
Anzeige
AW: Uups... - kleine Korrektur
14.02.2006 19:43:57
david
SUUUUPER!
der code funktioniert perfekt! und ich brauch noch nichtmal ne userform zwecks Ein- und Ausgabe. Klasse.
Ich danke Dir Boris! Bestens! Bin voll begeistert :)
LG vom David

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige