VBA_ Text in Tabelle 1 suchen und in Tabelle 2 ausgeben
Hallo Zusammen
Ich hoffe jemand kann mir weiterhelfen. Ich bin ein totaler VBA Frischling und versuche mich natürlich schon an etwas, was mich total überfordert. Nun sitze ich schon sicher 2 Tage an dem Problem und finde einfach keine Lösung. Vil. habt ihr eine Idee wie ich das VBA-Technisch schreiben kann.
Und nun zu meiner Frage: Ich habe zwei Tabellen bzw. Arbeitsblätter. Tabelle 1: „Alle Daten“ Tabelle 2: „Kunde“
Nun soll aus Tabelle 1 in der F Spalte der Text „762HH“ gesucht werden und wenn er gefunden worden ist, soll er in Tabelle 2 Text „762HH“ ausgeben, sowie auch noch die Spalten B, C, D, E , die in der selben Zeile, wie der Text in der Tabelle 1 sind.
Kann mir da jemand weiterhelfen? Falls Fragen sind, könnt ihr gerne Fragen.
Danke schon mal im Voraus.
5 Antworten
Ich beziehe mich mal auf die eigentliche Frage (alle Daten im ArbBl 1, Kunden im ArbBl 2):
folgendes Makro im ArbBl 1 ("alleDaten") eingeben
Sub Such()
letzteZeile = 20 'anpassen
Suchwort = "762HH" ' anpassen
nZeile = 2
For i = 1 To letzteZeile
If Cells(i, 6) = Suchwort Then
Worksheets("Kunde").Cells(nZeile, 6) = Cells(i, 6)
For j = 2 To 5 'Spalte B bis E
Worksheets("Kunde").Cells(nZeile, j) = Cells(i, j)
Next j
nZeile = nZeile + 1
End If
Next i
End Sub
Reicht das als Denkanstoß ?
Gruß aus Berlin
Schön, geholfen haben zu können.
Ich bin, im Gegensatz zu Dir, in Berlin schon öfter hingeflogen.
Gruß aus Berlin
Warum nicht eine Formel nehmen. z.B.
=INDEX(E:E;VERGLEICH(H2;F:F;0))
In Spalte F wird nach dem Suchbegriff gesucht. In Spalte E wird gesucht nach dem Ergebnis. In H2 steht der Suchbegriff. So kannst du dann auch die anderen Spalten auslesen.
Vielen Dank schon einmal für die Antworten. Freut mich dass so viele damit was anfangen können. :)
Ich benötige VBA da, die Daten, als ich sie erhalten habe ungefähr 15 Spalten und ca. 200.000 Zeilen hatte. Da fehlte mir einfach die Übersicht. Ich habe dann eine weitere Arbeitsmappe eingefügt und habe per VBA die Daten die ich benötige in die zweite Arbeitsmappe umgeschrieben.
Das hatte auch zum Grund, dass das Datum auf Englisch war und ich das somit erst noch umwandeln musste und dann einfügen konnte. Daher war VBA ideal. Somit habe ich nun im Arbeitsblatt 2 die Daten mit den ich arbeiten kann. Und nun soll in dem Arbeitsblatt 3 nur die Zeilen angezeigt werden, die im Arbeitsball 2 gesucht werden.
Um nochmal das klar zu schreiben:
Arbeitsblatt 2 stehen alle Daten. In diesem Blatt ist in Spalte 6 irgendwo der Text „762HH“. Wenn der gefunden wird soll die ganze Zeile in Arbeitsblatt 3 ausgegeben werden.
Oje.. ich hoffe das versteht man O.O
Vielen Dank
Somit habe ich nun im Arbeitsblatt 2 die Daten mit den ich arbeiten kann.
Warum soll es jetzt noch in VBA sein? Das brauchst du doch gar nicht mehr. Kann es sein das du dich jetzt unbedingt auf was versteifst was du eigentlich gar nicht verstehst. Nimm doch die einfache Lösung.
Mit der Index Variante kannst du doch jetzt die Felder auslesen die du brauchst und diese auf deinem Tabellenblatt3 anzeigen lassen.
Ja, da hast du recht. Wie könnte ich das dann per SVERWEIS oder INDEX machen?
Es wäre schon gut genau zu wissen in welchem Bereich in Tabelle 1 sich die Daten befinden und ob sie genauso aufgebaut sind wie sie in Tabelle 2 ausgegeben werden sollen. Die Zelle wo der Begriff drin ist wonach du dann suchst wäre auch schön zu wissen. Grundsätzlich hat dir merkurus schon einen denkanstoß gegeben, nur das dort eben nicht in der Tabelle 1 gesucht wird, sondern dort wo der Suchbegriff drin ist.
Die konkrete Syntax hab ich dafür nicht im Kopf, aber von der Logik her willst du es so machen:
Tabellen und Ihre Inhalte werden in Instanzen angesprochen, das heißt du willst "Tabelle.SpalteA.Zeile12.Wert=MeinText?" abfragen.
Zuweisen solltest du mit der gleichen Methode.
Tabelle2.SpalteX.Zeile14.Wert=DerText
Hoffe, das konnte helfen. :)
Regards,
Kaoro
Dazu habe ich erst einmal eine grundsätzliche Frage:
Warum muss es unbedingt über VBA sein, kannst du nicht die einfache Lösung per SVERWEIS oder INDEX nutzen?
OMG es Funktionier HAPPY :-) Vielen vielen Dank :-)
Übrigens toll von Berlin zu hören. Da fliege ich nächste Woche hin ^^
Komme aus dem südlichsten Eckchen Deutschlands ^^