Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1864to1868
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Daten kopieren wenn Bedingung

VBA Daten kopieren wenn Bedingung
10.01.2022 10:31:56
Jana
Hallo zusammen,ich brauche Hilfe beim kopieren von Daten per VBA.Ich möchte gerne alle Daten der Spalte "AJ" (Prüfung bis in die letzte Zeile)kopieren, wenn in der Spalte "E" (gleiche Zeile) ein Zahlenwert (von 1 bis 53) drin steht.Könnt ihr mir hier bitte helfen.Danke

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Daten kopieren wenn Bedingung
10.01.2022 11:34:01
AlterDresdner
Hallo Jana,
an sich kein Problem, aber
- ab welcher Zeile in Spalte AJ?
- wohin sollen die kopierten Daten?
- eine kleine Beispieldatei wäre evtl. hilfreich.
Gruß der AlteDresdner
AW: VBA Daten kopieren wenn Bedingung
10.01.2022 11:34:56
Herbert_Grom
Hallo Jana,
dann lade doch mal eine Beispiel-Arbeitsmappe hoch.
Servus
AW: VBA Daten kopieren wenn Bedingung
10.01.2022 12:20:12
AlterDresdner
Hallo Jana,
klar. Und wohin sollen die Daten kopiert werden? Neue Datei, neues Blatt, ...?
Der ALteDresdner
Anzeige
AW: VBA Daten kopieren wenn Bedingung
10.01.2022 17:38:56
AlterDresdner
Hall Jana,
da du uns nicht verraten willst, wohin kopiert werden soll, hier eine Lösung mit Annahme, dann bin ich raus:
'Annahme: Kopieren in ein neues Blatt am Ende

Sub Kopieren()
Const Kritspalte = 5
Const Quellspalte = 36
Const zielspalte = 1
Dim Quelle As Object, Ziel As Object, zeile As Long, zielzeile As Long
Set Quelle = ActiveSheet
Set Ziel = Worksheets.Add(after:=Worksheets(Sheets.Count))
zielzeile = 1
With Quelle
For zeile = 4 To .Cells(.Rows.Count, Quellspalte).End(xlUp).Row
If Not IsEmpty(.Cells(zeile, Kritspalte)) Then
Ziel.Cells(zielzeile, zielspalte).NumberFormat = "@"
Ziel.Cells(zielzeile, zielspalte) = .Cells(zeile, Quellspalte).Text
zielzeile = zielzeile + 1
End If
Next zeile
End With
End Sub

Anzeige
AW: VBA Daten kopieren wenn Bedingung
11.01.2022 08:23:21
Jana
Danke. Ich werde die Daten per Makro in SAP einspielen. Dieser Code existiert bereits. Mir geht es nur um den Teil, der nur die Selektion kopiert. Leider komme ich nicht dahinter wie ich deinen Block so umschreiben kann bis ich an den Befehl "Copy" komme. So sieht mein aktueller Copy Befehl aus:
'alle Nummern kopieren
wbkData.Worksheets("Tabelle1").Activate
Range(Cells(5, 36), Cells(Letzte_zeile, 36)).Copy
AW: VBA Daten kopieren wenn Bedingung
11.01.2022 10:58:14
AlterDresdner
Hallo Jana,
ergänze das

Sub um den unteren Rest.
Gruß der ALteDresdner
Next zeile
End With
'Kopieren der ausgesuchten Werte
Ziel.Range("A1:A" & Ziel.Cells(Ziel.Rows.Count, 1).End(xlUp).Row).Copy
'Löschen des temporär erzeugten Blattes, erst nach erfolgreichem Einfügen!!!!
Application.DisplayAlerts = False
Ziel.Delete
Application.DisplayAlerts = True
End Sub

Anzeige
AW: VBA Daten kopieren wenn Bedingung
10.01.2022 13:01:55
ChrisL
Hi
Auch ich weiss nicht wohin kopiert werden soll, aber dennoch bereits mal die Power-Query Alternative:
https://www.herber.de/bbs/user/150306.xlsx
Sehr einfach und ohne VBA:
- Bereich markieren
- Menü Daten, Aus Tabelle/Bereich
- Filter setzen
- Überflüssige Spalten löschen
- (optional neu sortieren)
Die Excel-Version ist für diese Lösung relevant.
Auch per VBA kein Hexenwerk:
- Makrorekorder Aufzeichnung starten
- Filter setzen
- Copy/Paste
- Überflüssige Spalten löschen
cu
Chris
Anzeige
AW: VBA Daten kopieren wenn Bedingung
12.01.2022 11:29:22
Luschi
Hallo Chris,
es ist doch sehr schade, daß so wenige auf den PQ-Zug aufspringen und mitmachen. Hier eine -Anmerkung von mir:
- statt

#"Entfernte Spalten" = Table.RemoveColumns(#"Gefilterte Zeilen",{"xxx", "xxx2", "xxx3", "xxx4", "xxx5", "xxx6", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "AA", "AB", "AC", "AD", "AE", "AF", "AG", "AH", "AI", "A", "B", "c", "xx", "Kriterium"})
genügt diese Zeile: = #"Andere entfernte Spalten" = Table.SelectColumns(#"Gefilterte Zeilen",{"Daten kopieren"})
siehe dazu auch: https://www.durchblick-durch-daten.de/power-query/loesche-niemals-spalten/
Gruß von Luschi
aus klein-Paris
Anzeige
AW: VBA Daten kopieren wenn Bedingung
12.01.2022 13:06:28
ChrisL
Hi Luschi
Danke, guter Hinweis den ich mir merken werde.
Tatsächlich schade, dass der (PQ-)Zug öfters mal leer durch die gegen fährt, aber Hauptsache der Lokführer hat seinen Spass :)
cu
Chris
AW: VBA Daten kopieren wenn Bedingung
12.01.2022 19:09:32
AlterDresdner
Hallo Luschi und Chris,
ich nehme an (deshalb keine Feindschaft!), dass das auch etwas an mich gerichtet war.
Seht es mir nach, nach 12 Jahren Rentnerei tut man sich mit einer neuen Excversion und ganz neuen Werkzeugen etwas schwer.
Vielleicht solte ich mich in AlterDresdner2010 umbenenenn?
Gruß und bleibt gesund
AW: VBA Daten kopieren wenn Bedingung
13.01.2022 10:11:52
ChrisL
Hi
Alles OK. Von meiner Seite war die Antwort nicht zielgerichtet, sondern eine allgemeine Feststellung. Ich kann deine Aussage gut nachvollziehen (geht mir in manchen Themen ähnlich).
Eine Vielfalt an Lösungswege (Formel, VBA, PQ) finde ich bereichernd. Welcher Weg ideal wäre, ergibt sich oft erst aus dem Gesamtzusammenhang, welcher aus den Fragen meist nicht hervorgeht.
Trotzdem lasse ich es mir nicht nehmen, auf die Vorzüge von PQ hinzuweisen :)
cu
Chris
Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige