Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1688to1692
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

Makro:Zellen kopieren und in neue Zeile einfügen

Makro:Zellen kopieren und in neue Zeile einfügen
25.04.2019 20:57:59
Flo
Hallo Herbes-Forum,
ich beschäftige mich seit kurzen mit VDA und bin noch ein Anfänger.
Ich habe mir folgendes Makro geschrieben, um Werte von einer Mappe in eine weitere Mappe zu kopieren.
Das Makro ist einem Button zugewiesen und es funktioniert soweit alles :).
Aber ich möchte jetzt noch, dass die Werte in der Mappe "Journal" immer in eine neue Zeile einfügt werden, wenn der Button aktiviert wird. Zudem sollten am Schluss alle Wert von der Mappe "Checkliste" gelöscht werden.
Ich hoffe es ist verständlich und danke schon mal für die Antworten. :)

Sub Übertragen()
Sheets("Checkliste").Range("B1").Copy
Sheets("Journal").Range("A4").PasteSpecial xlPasteValues
Sheets("Checkliste").Range("B2").Copy
Sheets("Journal").Range("B4").PasteSpecial xlPasteValues
Sheets("Checkliste").Range("C2").Copy
Sheets("Journal").Range("C4").PasteSpecial xlPasteValues
Sheets("Checkliste").Range("K6").Copy
Sheets("Journal").Range("L4").PasteSpecial xlPasteValues
Sheets("Checkliste").Range("K7").Copy
Sheets("Journal").Range("M4").PasteSpecial xlPasteValues
Sheets("Checkliste").Range("K8").Copy
Sheets("Journal").Range("N4").PasteSpecial xlPasteValues
Sheets("Checkliste").Range("K9").Copy
Sheets("Journal").Range("O4").PasteSpecial xlPasteValues
Sheets("Checkliste").Range("K10").Copy
Sheets("Journal").Range("P4").PasteSpecial xlPasteValues
Sheets("Checkliste").Range("K11").Copy
Sheets("Journal").Range("Q4").PasteSpecial xlPasteValues
Sheets("Checkliste").Range("K17").Copy
Sheets("Journal").Range("S4").PasteSpecial xlPasteValues
Sheets("Checkliste").Range("K18").Copy
Sheets("Journal").Range("T4").PasteSpecial xlPasteValues
Sheets("Checkliste").Range("K19").Copy
Sheets("Journal").Range("U4").PasteSpecial xlPasteValues
Sheets("Checkliste").Range("O17").Copy
Sheets("Journal").Range("V4").PasteSpecial xlPasteValues
Sheets("Checkliste").Range("K26").Copy
Sheets("Journal").Range("Z4").PasteSpecial xlPasteValues
Sheets("Checkliste").Range("K27").Copy
Sheets("Journal").Range("AA4").PasteSpecial xlPasteValues
Sheets("Checkliste").Range("K28").Copy
Sheets("Journal").Range("AB4").PasteSpecial xlPasteValues
Sheets("Checkliste").Range("K29").Copy
Sheets("Journal").Range("AC4").PasteSpecial xlPasteValues
Sheets("Checkliste").Range("K30").Copy
Sheets("Journal").Range("AD4").PasteSpecial xlPasteValues
Sheets("Checkliste").Range("K35").Copy
Sheets("Journal").Range("AF4").PasteSpecial xlPasteValues
Sheets("Checkliste").Range("K36").Copy
Sheets("Journal").Range("AG4").PasteSpecial xlPasteValues
Sheets("Checkliste").Range("K37").Copy
Sheets("Journal").Range("AH4").PasteSpecial xlPasteValues
Sheets("Checkliste").Range("K41").Copy
Sheets("Journal").Range("AJ4").PasteSpecial xlPasteValues
Sheets("Checkliste").Range("K45").Copy
Sheets("Journal").Range("AN4").PasteSpecial xlPasteValues
Sheets("Checkliste").Range("K46").Copy
Sheets("Journal").Range("AO4").PasteSpecial xlPasteValues
Sheets("Checkliste").Range("K47").Copy
Sheets("Journal").Range("AP4").PasteSpecial xlPasteValues
Sheets("Checkliste").Range("K48").Copy
Sheets("Journal").Range("AQ4").PasteSpecial xlPasteValues
End Sub

Grüße
Flo

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro:Zellen kopieren und in neue Zeile einfügen
25.04.2019 21:08:19
cysu11
Hi Flo,
das heißt VBA und lade bitte deine Beispieldatei hoch!
LG
alexandra
AW: Makro:Zellen kopieren und in neue Zeile einfügen
26.04.2019 01:38:38
Werner
Hallo Flo,
Sub Übertragen()
Dim wsQuelle As Worksheet, wsZiel As Worksheet
Set wsQuelle = Worksheets("Checkliste")
Set wsZiel = Worksheets("Journal")
With wsZiel
loLetzte = .Cells(.Rows.Count, 2).End(xlUp).Offset(1).Row
If .Cells(4, 2) = "" Then loLetzte = 4
End With
Application.ScreenUpdating = False
With wsQuelle
.Range("B1").Copy
wsZiel.Cells(loLetzte, 1).PasteSpecial xlPasteValues
.Range("B2").Copy
wsZiel.Cells(loLetzte, 2).PasteSpecial xlPasteValues
.Range("C2").Copy
wsZiel.Cells(loLetzte, 3).PasteSpecial xlPasteValues
.Range("K6:K11").Copy
wsZiel.Cells(loLetzte, 12).PasteSpecial xlPasteValues, Transpose:=True
.Range("K17:K19").Copy
wsZiel.Cells(loLetzte, 19).PasteSpecial xlPasteValues, Transpose:=True
.Range("K26:K30").Copy
wsZiel.Cells(loLetzte, 26).PasteSpecial xlPasteValues, Transpose:=True
.Range("K35:K37").Copy
wsZiel.Cells(loLetzte, 32).PasteSpecial xlPasteValues, Transpose:=True
.Range("K45:K48").Copy
wsZiel.Cells(loLetzte, 40).PasteSpecial xlPasteValues, Transpose:=True
.Range("K41").Copy
wsZiel.Cells(loLetzte, 36).PasteSpecial xlPasteValues
.Range("O17").Copy
wsZiel.Cells(loLetzte, 22).PasteSpecial xlPasteValues
End With
Application.CutCopyMode = False
End Sub
Gruß Werner
Anzeige
Schande über mein Haupt....
26.04.2019 01:48:03
Werner
Hallo Flo,
...hatte noch vergessen eine Variable zu Deklarieren und die Set Anweisungen wieder zu "leeren"
Sub Übertragen()
Dim wsQuelle As Worksheet, wsZiel As Worksheet
Dim loLetzte As Long
Set wsQuelle = Worksheets("Checkliste")
Set wsZiel = Worksheets("Journal")
With wsZiel
loLetzte = .Cells(.Rows.Count, 2).End(xlUp).Offset(1).Row
If .Cells(4, 2) = "" Then loLetzte = 4
End With
Application.ScreenUpdating = False
With wsQuelle
.Range("B1").Copy
wsZiel.Cells(loLetzte, 1).PasteSpecial xlPasteValues
.Range("B2").Copy
wsZiel.Cells(loLetzte, 2).PasteSpecial xlPasteValues
.Range("C2").Copy
wsZiel.Cells(loLetzte, 3).PasteSpecial xlPasteValues
.Range("K6:K11").Copy
wsZiel.Cells(loLetzte, 12).PasteSpecial xlPasteValues, Transpose:=True
.Range("K17:K19").Copy
wsZiel.Cells(loLetzte, 19).PasteSpecial xlPasteValues, Transpose:=True
.Range("K26:K30").Copy
wsZiel.Cells(loLetzte, 26).PasteSpecial xlPasteValues, Transpose:=True
.Range("K35:K37").Copy
wsZiel.Cells(loLetzte, 32).PasteSpecial xlPasteValues, Transpose:=True
.Range("K45:K48").Copy
wsZiel.Cells(loLetzte, 40).PasteSpecial xlPasteValues, Transpose:=True
.Range("K41").Copy
wsZiel.Cells(loLetzte, 36).PasteSpecial xlPasteValues
.Range("O17").Copy
wsZiel.Cells(loLetzte, 22).PasteSpecial xlPasteValues
End With
Application.CutCopyMode = False
Set wsQuelle = Nothing: Set wsZiel = Nothing
End Sub
Gruß Werner
Anzeige
oh Mann....
26.04.2019 01:57:54
Werner
Hallo Flo,
...und dann noch vergessen, dass die Werte in der Checkliste ja raus sollen.
Sub Übertragen()
Dim wsQuelle As Worksheet, wsZiel As Worksheet
Dim loLetzte As Long
Set wsQuelle = Worksheets("Checkliste")
Set wsZiel = Worksheets("Journal")
With wsZiel
loLetzte = .Cells(.Rows.Count, 2).End(xlUp).Offset(1).Row
If .Cells(4, 2) = "" Then loLetzte = 4
End With
Application.ScreenUpdating = False
With wsQuelle
.Range("B1").Copy
wsZiel.Cells(loLetzte, 1).PasteSpecial xlPasteValues
.Range("B1").ClearContents
.Range("B2").Copy
wsZiel.Cells(loLetzte, 2).PasteSpecial xlPasteValues
.Range("B2").ClearContents
.Range("C2").Copy
wsZiel.Cells(loLetzte, 3).PasteSpecial xlPasteValues
.Range("C2").ClearContents
.Range("K6:K11").Copy
wsZiel.Cells(loLetzte, 12).PasteSpecial xlPasteValues, Transpose:=True
.Range("K6:K11").ClearContents
.Range("K17:K19").Copy
wsZiel.Cells(loLetzte, 19).PasteSpecial xlPasteValues, Transpose:=True
.Range("K17:K19").ClearContents
.Range("K26:K30").Copy
wsZiel.Cells(loLetzte, 26).PasteSpecial xlPasteValues, Transpose:=True
.Range("K26:K30").ClearContents
.Range("K35:K37").Copy
wsZiel.Cells(loLetzte, 32).PasteSpecial xlPasteValues, Transpose:=True
.Range("K35:K37").ClearContents
.Range("K45:K48").Copy
wsZiel.Cells(loLetzte, 40).PasteSpecial xlPasteValues, Transpose:=True
.Range("K45:K48").ClearContents
.Range("K41").Copy
wsZiel.Cells(loLetzte, 36).PasteSpecial xlPasteValues
.Range("K41").ClearContents
.Range("O17").Copy
wsZiel.Cells(loLetzte, 22).PasteSpecial xlPasteValues
.Range("O17").ClearContents
End With
Application.CutCopyMode = False
Set wsQuelle = Nothing: Set wsZiel = Nothing
End Sub
Gruß Werner
Anzeige
AW: oh Mann....
27.04.2019 14:51:49
Flo
Hallo Werner,
jetzt bin ich mal dazugekommen das ganze zu testen. Danke dir schon mal. Es hat super funktioniert, jedoch habe ich etwas falsch weitergegeben.
Und zwar sollen der Wert der Zellen,
D6,F6,H6,J6
D7,F7,H7,J7
D8,F8,
D9,F9,
D10,F10
D13,F13,
D17,F17,
D18,F18,
D21,F21,H21,
D26,F26,H26,
D27,F27,H27,J27,
D28,F28,
D29,F29,
D30,F30,
D31,F31,
D35,F35,
D36,F36,
D37,F37,
D41,F41,H41,
D45,F45,
D46,F46,
D47,F47,
D48,F48,
gelöscht werden und nicht die Wert aus der Spalte K.
Deine ganzen Befehle muss ich mir mal durchgucken :), da ich ja einen ganz anderen Befehl genommen habe.
Gruß
Flo
Anzeige
AW: oh Mann....
27.04.2019 15:06:55
Flo
Habe es selbst geschafft. Danke dir Werner. :)
Sub Übertragen()
Dim wsQuelle As Worksheet, wsZiel As Worksheet
Dim loLetzte As Long
Set wsQuelle = Worksheets("Checkliste")
Set wsZiel = Worksheets("Journal")
With wsZiel
loLetzte = .Cells(.Rows.Count, 2).End(xlUp).Offset(1).Row
If .Cells(4, 2) = "" Then loLetzte = 4
End With
Application.ScreenUpdating = False
With wsQuelle
.Range("B1").Copy
wsZiel.Cells(loLetzte, 1).PasteSpecial xlPasteValues
.Range("B2").Copy
wsZiel.Cells(loLetzte, 2).PasteSpecial xlPasteValues
.Range("C2").Copy
wsZiel.Cells(loLetzte, 3).PasteSpecial xlPasteValues
.Range("K6:K11").Copy
wsZiel.Cells(loLetzte, 12).PasteSpecial xlPasteValues, Transpose:=True
.Range("K17:K19").Copy
wsZiel.Cells(loLetzte, 19).PasteSpecial xlPasteValues, Transpose:=True
.Range("K26:K30").Copy
wsZiel.Cells(loLetzte, 26).PasteSpecial xlPasteValues, Transpose:=True
.Range("K35:K37").Copy
wsZiel.Cells(loLetzte, 32).PasteSpecial xlPasteValues, Transpose:=True
.Range("K45:K48").Copy
wsZiel.Cells(loLetzte, 40).PasteSpecial xlPasteValues, Transpose:=True
.Range("K41").Copy
wsZiel.Cells(loLetzte, 36).PasteSpecial xlPasteValues
.Range("O17").Copy
wsZiel.Cells(loLetzte, 22).PasteSpecial xlPasteValues
.Range("D6,F6,H6,J6,D7 , F7, H7, J7,D8,F8,D9,F9,D10,F10,D13,F13,D17,F17,D18,F18,D21,F21,H21, _
D26,F26,H26,D27,F27,H27,J27,D28,F28,D29,F29,D30,F30,D31,F31,D35,F35,D36,F36,D37,F37,D41,F41,H41,D45,F45,D46,F46,D47,F47,D48,F48").ClearContents
End With
Application.CutCopyMode = False
Set wsQuelle = Nothing: Set wsZiel = Nothing
End Sub


Anzeige
AW: oh Mann....
27.04.2019 16:10:01
Werner
Hallo Flo,
da läßt sich aber noch einiges zusammenfassen.
.Range("D6:D10,D13,D17:D18,D21,D26:D31,D35:D37,D41,D45:D48," _
& "F6:F10,F13,F17:F18,F21,F26:F31,F35:F37,F41,F45:F48," _
& "H6:H7,H21,H26:H27,H41,J6:J7,J27").ClearContents
Gruß Werner

380 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige