VBA_ Text in Tabelle 1 suchen und in Tabelle 2 ausgeben

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


Sporti100 
Beitragsersteller
 04.03.2015, 14:15

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 ^^


0
Britzcontrol  04.03.2015, 16:43
@Sporti100

Schön, geholfen haben zu können. 

Ich bin, im Gegensatz zu Dir, in Berlin schon öfter hingeflogen.

Gruß aus Berlin

0

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


schmiddi1967  04.03.2015, 10:50

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.

0
Sporti100 
Beitragsersteller
 04.03.2015, 11:20
@schmiddi1967

Ja, da hast du recht. Wie könnte ich das dann per SVERWEIS oder INDEX machen?

0
schmiddi1967  04.03.2015, 11:53
@Sporti100

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.

0

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?