AW: VBA: Zugriff auf Workbook/Aktualisieren
10.03.2019 17:37:20
fcs
Hallo Charly,
hier 2 Varianten
prcCopy_Blatt_B kopiert das komplette Blatt
prcCopy_Blatt_B_Variante löscht die Daten im Ziel und kopiert die neuen.
LG
Franz
'Makro in einem allgemeinen Modul der Datei "Eingabe.xlsm"
Sub prcCopy_Blatt_B()
Dim wksCopy As Worksheet
Dim wksZiel As Worksheet
Dim wkbZiel As Workbook
On Error Resume Next
Set wksCopy = ThisWorkbook.Sheets("b")
Set wkbZiel = Application.Workbooks("Ereignis.xlsx")
If wkbZiel Is Nothing Then
MsgBox "Bitte erst die Datei ""Ereignis.xlsx"" öffnen, dann das Makro starten!", _
vbInformation + vbOKOnly, "Makro: prcCopy_Blatt_B"
Exit Sub
End If
Set wksZiel = wkbZiel.Sheets(wksCopy.Name)
If wksZiel Is Nothing Then
MsgBox "Blatt """ & wksCopy.Name & """ in Datei ""Ereignis.xlsx"" nicht vorhanden." _
& vbLf & "Makro wird abgebrochen!", _
vbInformation + vbOKOnly, "Makro: prcCopy_Blatt_B"
Exit Sub
End If
wksZiel.Name = "++Delete++"
wksCopy.Copy after:=wksZiel
Application.DisplayAlerts = False
wksZiel.Delete
Application.DisplayAlerts = True
wkbZiel.Save
End Sub
Sub prcCopy_Blatt_B_Variante()
Dim wksCopy As Worksheet, rngCopy As Range
Dim wksZiel As Worksheet
Dim wkbZiel As Workbook
On Error Resume Next
Set wksCopy = ThisWorkbook.Sheets("b")
Set wkbZiel = Application.Workbooks("Ereignis.xlsx")
If wkbZiel Is Nothing Then
MsgBox "Bitte erst die Datei ""Ereignis.xlsx"" öffnen, dann das Makro starten!", _
vbInformation + vbOKOnly, "Makro: prcCopy_Blatt_B"
Exit Sub
End If
Set wksZiel = wkbZiel.Sheets(wksCopy.Name)
If wksZiel Is Nothing Then
MsgBox "Blatt """ & wksCopy.Name & """ in Datei ""Ereignis.xlsx"" nicht vorhanden." _
& vbLf & "Makro wird abgebrochen!", _
vbInformation + vbOKOnly, "Makro: prcCopy_Blatt_B"
Exit Sub
End If
wksZiel.UsedRange.Clear
Set rngCopy = wksCopy.UsedRange
rngCopy.Copy wksZiel.Range(rngCopy.Address)
wkbZiel.Save
End Sub