PDA

Vollständige Version anzeigen : Wert in allen Tabellen suchen


hilmar12
12.04.2012, 11:58
Hallo an alle,

ich bin als VBA Anfänger neu hier und habe gleich eine Bitte um Hilfe:

In einem Excel2003 File suche ich einen Wert (kommt nur einmal in der Datei vor) der in einem von 19 Tabellenblättern in der Spalte A steht. Mit Hilfe des Tabellennamens (z.B. Wz1, Wz2....) und der zugehörigen Zeilen Nr. kann ich dann diese Zeile weiter verarbeiten.

Gruß Hilmar

Beverly
12.04.2012, 12:19
Hi Hilmar,

versuche es mal mit diesem Code:
Sub zellinhalt_suchen_tabellenname_auslesen()
Dim raZelle As Range
Dim strSuchbegriff As Variant
Dim wsTabele As Worksheet
strSuchbegriff = InputBox("Suchbegriff:")
For loTabelle = 1 To Worksheets.Count
With Worksheets(loTabelle).Columns(1)
Set raZelle = .Find(strSuchbegriff, lookat:=xlWhole, LookIn:=xlValues)
If Not raZelle Is Nothing Then
MsgBox Worksheets(loTabelle).Name & "!" & raZelle.Address
End If
End With
Next loTabelle
End Sub
<hr width="20%" align="left"><img src="http://excel-inn.de/images/grusz.gif" height=35" align="left" alt="Grußformel"><a href="http://excel-inn.de/" onclick="window.open(this.href);return false"><img border="0" src="http://excel-inn.de/images/logo1.gif" height=35" align="middle" alt="Beverly's Excel - Inn"></a>

hilmar12
12.04.2012, 12:45
Hallo Beverly,
vielen Dank für die superschnelle Antwort,

es funzt super, jetzt muß ich nur noch versuchen die Zeilen Nr. zu extrahieren,
das gefundene Blatt zu aktivieren um dann in der Zeile meinen text einzuordnen.

Vielleicht kannst Du mir hierbei noch helfen.
Gruß Hilmar

Bin gerade abkommandiert worden.
Kann erst morgen weiter machen.

Beverly
12.04.2012, 15:53
Hi Hilmar,

Sub zellinhalt_suchen_tabellenname_auslesen()
Dim raZelle As Range
Dim strSuchbegriff As Variant
Dim wsTabele As Worksheet
Dim loTabelle As Long
strSuchbegriff = InputBox("Suchbegriff:")
For loTabelle = 1 To Worksheets.Count
With Worksheets(loTabelle).Columns(1)
Set raZelle = .Find(strSuchbegriff, lookat:=xlWhole, LookIn:=xlValues)
If Not raZelle Is Nothing Then
Application.Goto _
reference:=Worksheets(Worksheets(loTabelle).Name).Range(raZelle.Address)
Exit For
End If
End With
Next loTabelle
End Sub

<hr width="20%" align="left"><img src="http://excel-inn.de/images/grusz.gif" height=35" align="left" alt="Grußformel"><a href="http://excel-inn.de/" onclick="window.open(this.href);return false"><img border="0" src="http://excel-inn.de/images/logo1.gif" height=35" align="middle" alt="Beverly's Excel - Inn"></a>

hilmar12
13.04.2012, 06:58
Hallo Karin,
Du bist schneller als der Schall :)
Es funzt alles prima.
Das Makro ist noch eingebettet in eine zusätzliche For Schleife, weshalb es toll wäre wenn Meldung käme wenn eine razelle nicht gefunden wird
Aber es funzt auch so

Vielen Dank

Beverly
13.04.2012, 07:57
Hi Hilmar,
Sub zellinhalt_suchen_tabellenname_auslesen()
Dim raZelle As Range
Dim strSuchbegriff As Variant
Dim wsTabele As Worksheet
Dim loTabelle As Long
Dim lngVorhanden As Long
strSuchbegriff = InputBox("Suchbegriff:")
For loTabelle = 1 To Worksheets.Count
With Worksheets(loTabelle).Columns(1)
Set raZelle = .Find(strSuchbegriff, lookat:=xlWhole, LookIn:=xlValues)
If Not raZelle Is Nothing Then
Application.Goto _
reference:=Worksheets(Worksheets(loTabelle).Name).Range(raZelle.Address)
Exit For
Else
lngVorhanden = lngVorhanden + 1
End If
End With
Next loTabelle
If lngVorhanden = Worksheets.Count Then MsgBox "Suchbegriff nicht gefunden"
End Sub

<hr width="20%" align="left"><img src="http://excel-inn.de/images/grusz.gif" height=35" align="left" alt="Grußformel"><a href="http://excel-inn.de/" onclick="window.open(this.href);return false"><img border="0" src="http://excel-inn.de/images/logo1.gif" height=35" align="middle" alt="Beverly's Excel - Inn"></a>

hilmar12
13.04.2012, 10:43
Hallo Karin,

bitte um Endschuldigung für die späte Reaktion,

tausend Dank für die Hilfe:top: :top:

Gruß Hilmar :winken: