Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
VBA: Zugriff auf Workbook/Aktualisieren
09.03.2019 12:34:31
charly84
Hallo Excel-Profis,
Löschen u. Aktualisieren eines Tabellenblattes von Externer Mappe.
Mein Vorhaben:
Mappe "Eingabe" Tabelle "a", "b"
Mappe "Ereignis" Tabelle "b"
Über Mappe "Eingabe" Tabelle "a" möchte Ich auf Mappe "Ereignis" Tabelle "b" zugreifen.
Im nächsten Schritt möchte ich das Tabellenblatt von Mappe "Ereignis" Tabelle "b"
Löschen u. von Mappe "Eingabe" Tabelle "b" einfügen inkl. Formatierung.
Mappe "Ereignis" Tabelle "b" u. Mappe "Eingabe" Tabelle "b" sind identisch aufgebaut.
Das ganze über einem CommandButton steuern.
Danke im Voraus für eure Hilfe/Bemühungen
Gruß Charly

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
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

Anzeige

316 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige