Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Worksheet importieren und austauschen

Forumthread: Worksheet importieren und austauschen

Worksheet importieren und austauschen
02.12.2003 23:14:21
OlliB
Hallo Forumsgemeinde,
hab da mal als VBA-Anfänger eine Frage. Möchte per Makro in einer Userform alle Tabellenblätter aus einer externen Sicherungsdatei importieren und gegen die vorhandenen (gleichnamigen) komplett ersetzen. Da die Tabellenblätter jedoch im Laufe der Zeit variieren können, kann ich sie jetzt nicht namentlich im Code festlegen. Den Import an sich bekomme ich auch hin, aber wie kann ich es erreichen, dass die Blätter nicht doppelt mit dem (2) eingefügt werden, sondern die vorhandenen Sheets ersetzt werden ? Kann mir da wer helfen ?
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Worksheet importieren und austauschen
02.12.2003 23:50:38
K.Rola
Hallo,

lies einfach alle Blattnamen aus der externen Sicherungsdatei in ein
Array ein. Dann löschts du alle Blätter in der anderen Mappe, die den
selben Namen haben. Anschließend die entsprechenden Blätter importieren.

Gruß K.Rola
ähm.....
03.12.2003 00:30:30
OlliB
vielen Dank für die rasche Reaktion....liest sich auch interessant...aber ich bin noch Anfänger...ein Beispielcode für mich ? Wäre super nett
Anzeige
AW: ähm.....
03.12.2003 13:08:04
K.Rola
Hallo,

wenn du nicht klarkommst, einfach nochmal melden:

Option Explicit
Option Base 1

Sub Blattimport()
Dim arr(), scQuelle As Long, wbQuelle As Workbook, wbZiel As Workbook
Dim b As Long, wsTemp As Worksheet, scZiel As Long
Dim shQ As Long, shZ As Long
''Name der backup- Datei, muss geöffnet sein!
Set wbQuelle = Workbooks("TestQuelle.xls")
''Die Mappe, in die die Blätter importiert werden sollen und in der
''dieser Code ausgeführt wird.
Set wbZiel = ThisWorkbook
''Ein Dummyblatt einfügen, damit sichergestellt ist, dass die Mappe
''das min. erforderliche eine Blatt immer enthält.
Set wsTemp = wbZiel.Worksheets.Add
wsTemp.Name = SHNAME
scQuelle = wbQuelle.Sheets.Count
scZiel = wbZiel.Sheets.Count
''Blattnamen, die in Quelle und Ziel identisch sind, in ein Array lesen
For shQ = 1 To scQuelle
For shZ = 1 To scZiel
If wbQuelle.Sheets(shQ).Name = wbZiel.Sheets(shZ).Name Then
b = b + 1
ReDim Preserve arr(b)
arr(b) = wbZiel.Sheets(shZ).Name
End If
Next
Next
''Meldung und Bildschirmaktualisierung abschalten
Application.DisplayAlerts = False
Application.ScreenUpdating = False
''Die identischen Blätter in der Zieldatei löschen
For b = LBound(arr) To UBound(arr)
wbZiel.Sheets(arr(b)).Delete
Next
''Alle Blätter der Quelldatei in die Zieldatei kopieren
For shQ = scQuelle To 1 Step -1
wbQuelle.Sheets(shQ).Copy Before:=wbZiel.Sheets(1)
Next
''Das Dummyblatt löschen
wbZiel.Sheets(SHNAME).Delete
''Meldung und Bildschirmaktualisierung wieder einschalten
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub


Gruß K.Rola
Anzeige
;o)
03.12.2003 14:38:00
OlliB
Danke....riesiges Dankeschön..werde ich gleich testen.....und versuchen zu verstehen ;o)
DANKE ! Klappt einwandfrei....
03.12.2003 21:46:53
OlliB
Vielen, vielen Dank...klappt ohne wenn und aber....super...wünsche einen schönen Tag noch
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige