Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1340to1344
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 Rec.Code ändern; Tabellen kopieren

Makro Rec.Code ändern; Tabellen kopieren
02.12.2013 14:35:29
Kathrin
Hallo zusammen,
nachdem ich in diesem Forum schon viele Tipps allein durchs Lesen bekommen habe, habe ich heute ein Problem, dass ich in dieser Form in keinem Beitrag finden konnte.
Zu Beginn, ich bin absoluter Laie bei der Erstellung von Makros und habe mal den Makro Rekorder versucht.
Problemstellung: Ich habe drei identische Tabellen (testmappe 1-3) hinsichtlich der Zeilenbeschriftung, die in der Länge allerdings variieren. Diese möchte ich in einer Art Mastertabellen untereinander kopieren um auf Basis der Mastertabelle auswerten zu können. Zu beachten ist, dass die drei Tabellen immer wieder von Mitarbeitern bearbeitet werden und Zeilen unten hinzukommen. Wie kann ich denn diese Variabilität der Zeilenanzahl in dem Code, der mir durch den Makro Rekorder erstellt wird, anpassen.
Dies ist der Code mit fixen Zellenbereichen:
Sub Tabellen_kopieren()
' Tabellen_kopieren Makro
' Tastenkombination: Strg+m
Workbooks.Open Filename:= _
"L:\testmappe_1.xls"
Range("A1:D3").Select
Selection.Copy
Windows("master.xls").Activate
Cells.Select
ActiveSheet.Paste
Workbooks.Open Filename:= _
"L:\testmappe_2.xls"
Range("A2:D3").Select
Application.CutCopyMode = False
Selection.Copy
Windows("master.xls").Activate
Range("A4:D5").Select
ActiveSheet.Paste
Workbooks.Open Filename:= _
"L:\testmappe_3.xls"
Range("A2:D3").Select
Application.CutCopyMode = False
Selection.Copy
Windows("master.xls").Activate
Range("A6:D7").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub
Herzlichen Dank für Eure Hilfe!

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro Rec.Code ändern; Tabellen kopieren
02.12.2013 18:16:44
fcs
Hallo Kathrin,
nachfolgend ungetestete Anpassung deines Makros.
Die 1 bei den Worksheets kannst du ggf. anpassen und durch den Tabellennamen in Anführungszeichen ersetzen.
Ich bin davon ausgegangen, dass in Spalte A in allen Zeilen immer ein Wert steht, um die letzte zeile mit Daten zu ermitteln. Falls dem nicht so ist, dann muss man da nochmals anpassen.
Gruß
Franz
Sub Tabellen_kopieren()
' Tastenkombination: Strg+m
Dim wksZiel As Worksheet, ZeileZiel As Long
Dim wkbQuelle As Workbook, ZeileLast As Long
Set wksZiel = ActiveSheet
ZeileZiel = 1
Set wkbQuelle = Workbooks.Open(Filename:= _
"L:\testmappe_1.xls", ReadOnly:=True)
With wkbQuelle.Worksheets(1)
ZeileLast = .Cells(.Rows.Count, 1).End(xlUp).Row
.Range(.Cells(1, 1), .Cells(ZeileLast, 4)).Copy wksZiel.Cells(ZeileZiel, 1)
End With
Application.CutCopyMode = False
wkbQuelle.Close savechanges:=False
ZeileZiel = ZeileZiel + ZeileLast
Set wkbQuelle = Workbooks.Open(Filename:= _
"L:\testmappe_2.xls", ReadOnly:=True)
With wkbQuelle.Worksheets(1)
ZeileLast = .Cells(.Rows.Count, 1).End(xlUp).Row
If ZeileLast > 1 Then
.Range(.Cells(2, 1), .Cells(ZeileLast, 4)).Copy wksZiel.Cells(ZeileZiel, 1)
End If
End With
Application.CutCopyMode = False
wkbQuelle.Close savechanges:=False
ZeileZiel = ZeileZiel + ZeileLast - 1
Set wkbQuelle = Workbooks.Open(Filename:= _
"L:\testmappe_3.xls", ReadOnly:=True)
With wkbQuelle.Worksheets(1)
ZeileLast = .Cells(.Rows.Count, 1).End(xlUp).Row
If ZeileLast > 1 Then
.Range(.Cells(2, 1), .Cells(ZeileLast, 4)).Copy wksZiel.Cells(ZeileZiel, 1)
End If
End With
Application.CutCopyMode = False
wkbQuelle.Close savechanges:=False
End Sub

Anzeige
AW: Makro Rec.Code ändern; Tabellen kopieren
03.12.2013 08:49:16
Kathrin
Vielen herzlichen Dank Franz! Klappt wunderbar!! Klasse!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige