Sicher schon 1000 mal gefragt, aber ich finde keine Lösung
Also, ich möchte einen wert in tabellenblatt 1, zelle a1 eingeben
dann soll nach diesem wert in den restlichen tabellenblättern gesucht werden (Tabellenblatt(2):Tabellenblatt(5)
der wert kommt in den tabellenblättern auch nur einmal vor.
dann soll die gefundene Zelle die aktive werden.
…wer kann mir helfen?
Gruß Armin
Hi,
bin auch nicht der Profi, aber schau mal im Formelassistent nach
sverweis oder wverweis, ich glaube das ist das was du suchst!
Grüße
FK
Hallo, Armin!
Sicher schon 1000 mal gefragt, aber ich finde keine Lösung
Also, ich möchte einen wert in tabellenblatt 1, zelle a1
eingeben
dann soll nach diesem wert in den restlichen tabellenblättern
gesucht werden (Tabellenblatt(2):Tabellenblatt(5)
der wert kommt in den tabellenblättern auch nur einmal vor.
dann soll die gefundene Zelle die aktive werden.
z. B. so:
Sub Suche()
Dim strSuche As String
Dim rngFind As Range
strSuche = Tabelle1.Cells(1, 1)
Set rngFind = Tabelle2.Cells.Find(strSuche, , xlValues, xlPart, xlByRows, xlNext)
If Not rngFind Is Nothing Then
rngFind.Parent.Select
rngFind.Select
End If
Set rngFind = Tabelle3.Cells.Find(strSuche, , xlValues, xlPart, xlByRows, xlNext)
If Not rngFind Is Nothing Then
rngFind.Parent.Select
rngFind.Select
End If
' das ganze dann beliebig oft wiederholen für alle benötigten Tabellen
' oder auch mit For Each Tabellen durchlaufen
End Sub
So wird derzeit das letzte Vorkommen der Eingabe markiert. Falls das erste markiert werden soll, vorher testen, ob rngFind schon gesetzt wurde, und abbrechen. Aber wenn das definitiv nur ein Mal vorhanden ist, dann wäre das egal.
Ggf. auch noch mir den Parametern der Suche ein bisschen Fine-Tuning betreiben (Suche in Formeln/Werten; Suche ganzes Feld oder nur Teil…)
Gruß, Manfred
Hi Manfred
kann’s leider erst morgen testen, aber ich glaube das ist schon genau das, was ich suche.
Ich sag schon mal Danke
O.T. Select
Hallo Manfred,
du benutzt da 4mal Select, habe den Code nur kurz überflogen, geht das nicht ohne Select?
Gruß
Reinhard
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo, Reinhard!
du benutzt da 4mal Select, habe den Code nur kurz überflogen,
geht das nicht ohne Select?
Kann sein, dass das .Parent.Select nicht unbedingt sein muss. Da ich eigentlich nie mit Select arbeite, meine aber, mich erinnern zu können, dass ich 'ne Fehlermeldung bekam, als ich dann doch eine Zelle aktivieren wollte, die auf einer nicht-aktiven Tabelle lag, dachte ich mal, ich bastel das mit rein. Schaden kann’s ja nicht.
Ich weiß auch nicht, ob ich die Suche in einem Befehl über alle anderen Tabellenblätter laufen lassen kann. Dazu hätte ich ja testen müssen… Und ich weiß eh nicht wirklich, wann ich eigentlich Activate und wann Select nehmen muss. Wie gesagt, eigentlich brauche ich das nie.
Und last but not least: Ich weiß auch nicht, ob Find die gefundene Zelle automatisch auswählt wie gewünscht. Ich vermute aber mal ganz stark: Nein, tut Find nicht, weil Find ja eine Zelle zurückliefert.
Gruß, Manfred
O.T. Select oder/und activate
ich ja testen müssen… Und ich weiß eh nicht wirklich, wann
ich eigentlich Activate und wann Select nehmen muss. Wie
gesagt, eigentlich brauche ich das nie.
Hallo Manfred,
ich habe da auch absolut keine Ahnung was der genaue Unterschied zwischen select und activate ist.
Gruß
Reinhard