Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
940to944
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
940to944
940to944
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

versteckte Tabellenblätter laden

versteckte Tabellenblätter laden
15.01.2008 08:38:00
Mario
Hallo!
Ich habe ein kleines Problem mit dem Laden von versteckten Tabellenblättern.
Ich habe eine Datei 1 mit 3 Sheets (A,B,C)
Mit dem Sub

Sub speichern()
Sheets(Array("B", "C")).Copy
ActiveWorkbook.Sheets("C").Visible = xlVeryHidden
Application.Dialogs(xlDialogSaveAs).Show
ActiveWorkbook.Close savechanges:=False
Application.ScreenUpdating = True
End Sub


kopiere ich die Sheets B und C in eine neue Datei 2 und verstecke das Sheet C
Nun möchte ich diese beiden Sheets B und C aus Datei 2 wieder laden, hierbei sollen die in der Datei 1 enthaltenen Sheets B unc C überschrieben werden.
Kann mir jemand bei der Umsetzung helfen?
Ich finde hier einfach keinen Ansatz. Danke

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

Betreff
Datum
Anwender
Anzeige
AW: versteckte Tabellenblätter laden
15.01.2008 14:40:00
fcs
Hallo Mario,
ob und wie das Wiedereinfügen der Blätter/Daten in die Ursprungsdatei möglich ist hängt davon ab, wie das Blatt A mit den Blättern B und C durch Formeln verknüpft ist.
Falls es keine Formelverknüpfungen zwischen den Blättern gibt, dann kann man die Blätter B und C in der Original-Datei löschen und anschließend die Blätter aus der Kopie ins Original einfügen.

Sub BlattImport()
Dim wbThis As Workbook, wbCopy As Workbook, strCopy
strCopy = Application.GetOpenFilename(Filefilter:="Exceldateien(*.xls),*.xls", _
Title:="Bitte Datei mit Blattkopien öffnen")
If strCopy = False Then Exit Sub
Set wbThis = ThisWorkbook
Set wbCopy = Workbooks.Open(FileName:=strCopy)
wbThis.Sheets("B").Visible = xlSheetVisible
wbThis.Sheets("C").Visible = xlSheetVisible
Application.DisplayAlerts = False
wbThis.Sheets(Array("B", "C")).Delete
Application.DisplayAlerts = True
wbCopy.Sheets("C").Visible = xlSheetVisible
wbCopy.Sheets(Array("B", "C")).Copy After:=wbThis.Sheets("A")
wbCopy.Close savechanges:=False
End Sub


Falls Formelverbindungen existieren, dann ist das Löschen und zurückkopieren der Blätter nicht _ möglich, da dabei Bezüge verloren gehen. In diesem Fall kann man maximal die Inhalte in den Blättern B und C löschen und die Inhalte aus den Blättern der Kopie hineinkopieren.


Sub BlattImport2()
Dim wbThis As Workbook, wbCopy As Workbook, strCopy
strCopy = Application.GetOpenFilename(Filefilter:="Exceldateien(*.xls),*.xls", _
Title:="Bitte Datei mit Blattkopien öffnen")
If strCopy = False Then Exit Sub
Set wbThis = ThisWorkbook
Set wbCopy = Workbooks.Open(FileName:=strCopy)
wbThis.Sheets("B").Visible = xlSheetVisible
wbThis.Sheets("C").Visible = xlSheetVisible
wbThis.Worksheets("B").UsedRange.ClearContents
wbThis.Worksheets("C").UsedRange.ClearContents
wbCopy.Sheets("C").Visible = xlSheetVisible
wbCopy.Worksheets("B").UsedRange.Copy _
Destination:=wbThis.Worksheets("B").Range(wbCopy.Worksheets("B").UsedRange.Address)
wbCopy.Worksheets("C").UsedRange.Copy _
Destination:=wbThis.Worksheets("C").Range(wbCopy.Worksheets("C").UsedRange.Address)
wbCopy.Close savechanges:=False
End Sub

Dieser Kopiervorgang arbeitet aber nur korrekt, wenn an den Tabellen keine struturellen Änderungen vorgenommen wurden sondern nur Inhalte geändert wurden.
Gruß
Franz

Anzeige
AW: versteckte Tabellenblätter laden
15.01.2008 15:46:00
Mario
Hallo fcs
danke für den Tip
Die Tabellenblätter B und C enthalten nur Werte also keine Verknüpfungen, daher sollte dein erster Vorschlag funktionieren. Ich probiere es mal aus.
Ich war vom Gedanken auch so weit dann bin ich jedoch bei dem kopieren hängen geblieben. Ich hatte folgendes Sub geschrieben

Public Sub laden()
Dim aktiv As String
Dim laden As String
aktiv = ActiveWorkbook.Name
Worksheets("c").Delete
Application.Dialogs(xlDialogOpen).Show
laden = ActiveWorkbook.Name
Sheets("c").Visible = True
Sheets("c").Copy
-->>>Workbooks(aktive).Select
ActiveWorkbook.Close savechanges:=False
End Sub


Doch ich habe dann immer ein neue Datei mit Tabellenblatt c gemacht und bin dann nicht mehr auf meine Ursprungsdatei zurückgekommen.
Ich probiere dein Sub mal aus. Danke schon mal
Tschüß Mario

Anzeige
AW: versteckte Tabellenblätter laden
15.01.2008 17:10:18
Mario
Hallo Franz,
ganz lieben Dank, das funktioniert fantastisch
Danke noch mal dafür
Tschüß mario

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige