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

2 Blätter aus 2 Datein zusammenführen

2 Blätter aus 2 Datein zusammenführen
08.11.2019 09:06:36
RO
Hi Zusammen,
ich hoffe, dass jemand hier mir helfen könnte.
Ich habe in einem Ordner 2 Dateien. 1. Datei ist Export D und die Zweitte ist Export E. Beide sind gleich aufgebaucht und heide haben ein Blatt, das mit der Name "Daten" bennenen sind.
Auch in diesem Ordner habe ich eine Datei xlsm, die Auswertung heißt und ein Blatt " Ausblick" enthält.
Ich such eine Code/Makro der das machen kann:
Zuerst kopiert er die Werte A2:AU (also bis zu letzte befüllte Zeile) im Blatt "Daten" von der Datei Export D nund fügt sie als Zahlen in Blatt "Ausblick" von der Datei "Auswerung" , aber in Bereich A5:AU.
Wenn das gemacht ist, dann kopiert er die Werte A2:AU (also bis zu letzte befüllte Zeile) im Blatt "Daten" von der Datei Export E nund fügt sie als Zahlen in Blatt "Ausblick" von der Datei "Auswerung" , aber in den Bereich A:AU ab erste leere Zeile.
Wenn auch das gemacht ist, dann soll der Makro doe Formel von AW-BC bis zu letze befüllte Zeile runterzihen.
Wäre echt nett, wenn jemand hier eine solche Code mir zeigen kann.
Vielen Dank im Voraus.
Robert.

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: 2 Blätter aus 2 Datein zusammenführen
08.11.2019 10:00:12
Klaus
Hallo Robert,
bei mir funktioniert es so:
Option Explicit
Sub GetAllUpdates()
On Error GoTo skipthis
Dim lLastRow    As Long
Dim wkbOld      As Workbook
Dim wkbNew      As Workbook
Dim intCalculation As Integer
Const ExportD As String = "H:\herber\Export D.xlsx"
Const ExportF As String = "H:\herber\Export F.xlsx"
Application.ScreenUpdating = False
Application.EnableEvents = False
intCalculation = Application.Calculation
Application.Calculation = xlManual
Set wkbOld = ActiveWorkbook
Application.StatusBar = "delete old data"
With wkbOld.Sheets("Ausblick")
lLastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
If lLastRow > 5 Then .Range("A5:AU" & lLastRow).ClearContents
End With
Application.StatusBar = "check if worksheet in this file does exist"
If WorksheetExists("Ausblick") Then
Sheets("Ausblick").Activate
Else
Application.StatusBar = "create missing worksheet"
Sheets.Add
ActiveSheet.Name = "Ausblick"
Sheets("Ausblick").Activate
End If
Application.StatusBar = "check if workbook " & ExportD & " does exist, and open it"
If WkbExists(ExportD) = False Then
If Dir(ExportD) = "" Then
GoTo skipthis
Else
Workbooks.Open ExportD, UpdateLinks:=False
End If
Else
Workbooks(ExportD).Activate
End If
Application.StatusBar = "check if worksheet in external file does exist"
Set wkbNew = ActiveWorkbook
If Not WorksheetExists("Daten") Then
GoTo skipthis
Else
Application.StatusBar = "copy data"
wkbNew.Sheets("Daten").Activate
lLastRow = ActiveSheet.Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Row
wkbNew.ActiveSheet.Range("A2:AU" & lLastRow).Copy
Application.StatusBar = "paste data"
wkbOld.Sheets("Ausblick").Range("A5").PasteSpecial xlPasteValues
wkbOld.Sheets("Ausblick").Range("A5").PasteSpecial xlPasteFormats
Application.CutCopyMode = False
End If
Application.StatusBar = "close file"
wkbNew.Close False
Application.StatusBar = "check if workbook " & ExportF & " does exist, and open it"
If WkbExists(ExportF) = False Then
If Dir(ExportF) = "" Then
GoTo skipthis
Else
Workbooks.Open ExportF, UpdateLinks:=False
End If
Else
Workbooks(ExportF).Activate
End If
Application.StatusBar = "check if worksheet in external file does exist"
Set wkbNew = ActiveWorkbook
If Not WorksheetExists("Daten") Then
GoTo skipthis
Else
Application.StatusBar = "copy data"
wkbNew.Sheets("Daten").Activate
lLastRow = ActiveSheet.Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Row
wkbNew.ActiveSheet.Range("A2:AU" & lLastRow).Copy
Application.StatusBar = "paste data"
lLastRow = wkbOld.Sheets("Ausblick").Cells(wkbOld.Sheets("Ausblick").Rows.Count, 1).End( _
xlUp).Row + 1
wkbOld.Sheets("Ausblick").Range("A" & lLastRow).PasteSpecial xlPasteValues
wkbOld.Sheets("Ausblick").Range("A" & lLastRow).PasteSpecial xlPasteFormats
Application.CutCopyMode = False
End If
Application.StatusBar = "close file"
wkbNew.Close False
Application.StatusBar = "copy formulas"
With wkbOld.Sheets("Ausblick")
lLastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
If lLastRow > 5 Then
.Range("AW5:BC5").Copy
.Range("AW6:BC" & lLastRow).PasteSpecial
Application.CutCopyMode = False
End If
End With
GoTo heaven
skipthis:
MsgBox ("Es gab einen Fehler - Wahrscheinlich stimmt eine Pfadangabe nicht")
heaven:
Application.ScreenUpdating = True
Application.EnableEvents = True
Application.Calculation = intCalculation
End Sub
Private Function WkbExists(sFile As String) As Boolean
Dim wkb As Object
On Error Resume Next
Set wkb = Workbooks(sFile)
If Not wkb Is Nothing Then
WkbExists = True
End If
On Error GoTo 0
End Function
Public Function WorksheetExists(ByVal WorksheetName As String) As Boolean
On Error Resume Next
WorksheetExists = (Sheets(WorksheetName).Name  "")
On Error GoTo 0
End Function
LG,
Klaus M.
Anzeige
AW: 2 Blätter aus 2 Datein zusammenführen
08.11.2019 14:48:44
RO
Wowwwwww...Eshat unglaublich gut funktioniertttttt...Bist ein Held...
Vielen Vielen Dank!!!
Will mal gerne Makro lernen...Muss ich
AW: 2 Blätter aus 2 Datein zusammenführen
08.11.2019 20:28:41
Klaus
Hey Ro,
danke für die Rückmeldung! Das Makro hatte ich aus einem anderen Projekt bereits fertig rumliegen und musste es nur noch an deine Zellenbereiche anpassen, das war relativ einfach :-)
LG und schönes Wochenende,
Klaus M.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige