Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Daten per VBA kopieren
#1
Hallo,

wie müsste der VBA Code aussehen der im angehängten WB die Daten für Februar kopieren würde?
Vergessen habe ich dass der zu kopierende Monat in G2 stehen soll.
Mit freundlichen Grüßen
Alooha


Angehängte Dateien
.xlsx   Daten per VBA kopieren.xlsx (Größe: 8,39 KB / Downloads: 3)
Antworten Top
#2
Moin!
Nix Code, nix Formel!
Daten, Filtern, Spalte A nach Februar filtern.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#3
Hallo Ralf,
Vielen Dank für deine Antwort.
Mein Beispiel ist extrem vereinfacht. In Wirklichkeit muß ich die Daten aus mehreren Blättern ( die alle den gleichen Aufbau haben) zusammenkopieren. Ich war selbst imstande, einen Code zu erstellen, der die Daten vom nächsten Blatt in die nächste freie Zeile kopiert, aber alle Daten, wobei ich die für einen bestimmten Monat zusammenkopieren muß, und ich weiß eben nicht, wie der Code lauten muß, der nur die Daten für einen bestimmten Monat kopiert. Ohne VBA geht das nicht.
Mit freundlichen Grüßen
Alooha
Antworten Top
#4
Zitat:Ohne VBA geht das nicht.

Wetten, dass … ?
Ich ahne, dass eine Mappe zum Splitten von Monaten or whatever vergewaltigt wurde.
Magst Du uns ein vereinfachtes Beispiel hochladen?
(Excel-Datei)

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#5
Hallo,
kann ich tun, später ; ich bin jetzt nicht zuhause.
Aber, was spricht denn gegen VBA?
Antworten Top
#6
(06.10.2017, 17:31)Alooha schrieb: Aber, was spricht denn gegen VBA?

Was spricht gegen den Fußweg zum Bäcker, der eine Minute dauert, wenn man doch einen Ferrari in der Garage hat, der das in 10 Sekunden schafft?
Gut … Garage aufschließen, reinzwängen, Motor starten, vorfahren, rauszwängen, Garage schließen, reinzwängen, zum Bäcker fahren, rauszwängen, Auto abschließen, {kaufen}, Auto aufschließen, reinzwängen, zurückfahren, rauszwängen, Garage aufschließen, reinzwängen, reinfahren, Motor ausschalten, rauszwängen, Garage abschließen.

Disclaimer:
Für die Grünen hätte ich noch ein paar Motor Off/On einfügen sollen …
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#7
Ein interessanter Vergleich.
Ich bin ehrlich gespannt wie eine Lösung ohne VBA aussieht.
Ich werde nachher ein Beispiel präparieren das näher an der Realität ist.
Antworten Top
#8
Hallöchen,

eine Variante wäre, die Daten nach dem Monat zu filtern und das Filterergebnis zu kopieren ... Könntest als ersten Ansatz den Code dafür auch aufzeichnen.
Eventuell hat GMG-CC auch eine Powerlösung dafür Smile - oder Ralf ...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#9
Hallo,
hier ein Beispiel das der Realität näher kommt, wo die Daten in ein anderes WS kopiert werden sollen (Synthese habe ich es mal genannt). Dort kann resp. muß man den Monat auswählen den man kopieren will.
Schönen Abend
Alooha


Angehängte Dateien
.xlsx   Daten per VBA kopieren 1.xlsx (Größe: 12,01 KB / Downloads: 6)
Antworten Top
#10
Hallöchen,

aufgezeichnet hast Du aber nix ...

Hier mal was für den Februar
Code:
Sub Makro1()
'
' Makro1 Makro
'

'
   Sheets("Agent 1").Select
   Columns("A:A").Select
   Selection.AutoFilter
   ActiveSheet.Range("$A$1:$A$14").AutoFilter Field:=1, Operator:= _
       xlFilterValues, Criteria2:=Array(1, "2/23/2017")
   Rows("1:15").Select
   Selection.Copy
   Sheets("SYNTHESE").Select
   Range("A5").Select
   ActiveSheet.Paste
   Sheets("Agent 2").Select
   Columns("A:A").Select
   Application.CutCopyMode = False
   Selection.AutoFilter
   ActiveSheet.Range("$A$1:$A$14").AutoFilter Field:=1, Operator:= _
       xlFilterValues, Criteria2:=Array(1, "2/24/2017")
   Rows("1:15").Select
   Selection.Copy
   Sheets("SYNTHESE").Select
   Range("A10").Select
   ActiveSheet.Paste
   Sheets("Agent 3").Select
   Columns("A:A").Select
   Application.CutCopyMode = False
   Selection.AutoFilter
   ActiveSheet.Range("$A$1:$A$14").AutoFilter Field:=1, Operator:= _
       xlFilterValues, Criteria2:=Array(1, "2/27/2017")
   Rows("1:15").Select
   Selection.Copy
   Sheets("SYNTHESE").Select
   Range("A15").Select
   ActiveSheet.Paste
End Sub

Etwas angepasst sieht das dann so aus:
Code:
Sub Makro1()
   'erstes Blatt zum kopieren auswaehlen
   Sheets("Agent 1").Select
   'Kopiermodus erst mal deaktivieren
   Application.CutCopyMode = False
   'Autofilter setzen
   Columns("A:A").AutoFilter
   'Nach Februar filtern - ggf ganze Spalte A und Monat variabel gestalten
   ActiveSheet.Range("$A$1:$A$14").AutoFilter Field:=1, Operator:= _
       xlFilterValues, Criteria2:=Array(1, "2/28/2017")
   'Zeile 2 bis 15 kopieren - hier ausreichend Zeilen nehmen
   Rows("2:15").Copy
   'Blatt Synthese auswaehlen
   Sheets("SYNTHESE").Select
   'In Zelle A5 einfuegen - hier flexibel die erste freie Zelle programmieren
   Range("A5").PasteSpecial
   '...
   Sheets("Agent 2").Select
   Application.CutCopyMode = False
   Columns("A:A").AutoFilter
   ActiveSheet.Range("$A$1:$A$14").AutoFilter Field:=1, Operator:= _
       xlFilterValues, Criteria2:=Array(1, "2/28/2017")
   Rows("2:15").Copy
   Sheets("SYNTHESE").Select
   Range("A9").PasteSpecial
   Sheets("Agent 3").Select
   Application.CutCopyMode = False
   Columns("A:A").AutoFilter
   ActiveSheet.Range("$A$1:$A$14").AutoFilter Field:=1, Operator:= _
       xlFilterValues, Criteria2:=Array(1, "2/28/2017")
   Rows("2:15").Copy
   Sheets("SYNTHESE").Select
   Range("A13").PasteSpecial
End Sub

Ich habe da ein paar Codezeilen zusammengefasst, Beim Kopieren die Zeile 1 nicht mitgenommen und demzufolge auch die Einfügepunkte angepasst.
Dann habe ich überall den 28.2. programmiert als letzten Tag vom Februar 2017.

Im Prinzip bräuchte man nun noch weitere Änderungen. Ich habe das mal alles im ersten Blatt mit Kommentaren versehen, die anderen beiden müssten dann genau so angepasst werden. kannst es ja erst mal ausprobieren, dann sehen wir weiter.

Beim codezeilen kopieren mit dem Edge Browser bitte unseren Hinweis oben in der Hilfe beachten.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste