Excel & VBA-Kopieren von Zeilen in eine neue Tabelle basierend auf dem Wert der Zelle
Ich bin ein totaler Anfänger in Excel und VBA.
Ich habe ein Blatt wie dieses:
A B C D
someinfo someinfo someinfo OK
someinfo someinfo someinfo OK
someinfo someinfo someinfo ERROR
someinfo someinfo someinfo ERROR
someinfo someinfo someinfo OK
someinfo someinfo someinfo OK
someinfo someinfo someinfo ERROR
someinfo someinfo someinfo ERROR
Ok, würde ich mag, um kopieren Sie die "OK" - Zeilen in ein neues Blatt und das mit dem "FEHLER" in einem anderen.
Wie kann ich das tun?
- Einfachste Möglichkeit wäre die Verwendung von filtern und filtern nur für
OK
, dann copy/paste, dann filter fürERROR
, dann copy/paste. Wenn Sie das tun, während Sie ein makro aufzeichnen, werden Sie 90% der Weg in eine VBA-Lösung - Diese beantwortet waren, wurde unzählige Male auf dieser Sie sicher, verwenden Sie die Suche vor dem posten. Sie können auch überprüfen Sie meine Antworten, ich antwortete auf eine ähnliche Frage heute früh.
- Sorry, ich Suche über stackoverflow, aber ich wohl nicht finden, das Thema, das Sie sich beziehen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie bereits in früheren Kommentaren ist dies, wie würden Sie Filter~>Kopieren von~>Einfügen
lngLastRow = Cells(Rows.Count, "A").End(xlUp).Row
würden Sie die"A"
zu welcher Spalte enthält Ihre Letzte Zeile der Daten. Ich habe getestet, mein code selbst mit Ihren genauen Daten. Es hat für mich gearbeitet.Probieren Sie etwas wie dieses...
Müssen Sie ändern Sie die Zeilen/Spalten die Daten herkommen, um Ihre Bedürfnisse anzupassen, sondern ich schrieb, basierend auf deinem Beispiel.
EDIT:
Am zweiten Gedanken, ich habe einige Lesen über Filter und ich gehe mit, was die anderen hier gepostet haben.
R
. SoR
wird IMMER weniger werden, dannlastrow
. Ich denke, Sie ment zu verwendenFor R = 2 to lastrow
und ersetzenLoop with Next R
. Auch bei Ihnen ist Viel langsamer. Ich lief sowohl unseren code über 10.000 Zeilen 5 mal jede Mine hatte eine avergage Zeit von 0.615133072755998, während Ihnen hatte eine Durchschnittliche Zeit von 16.982829004747300. Das ist FAST 28-Mal langsamer, dann von mir.