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

Mehrere Tabellen per VBA in neuen Mappe kopieren

Mehrere Tabellen per VBA in neuen Mappe kopieren
12.06.2006 16:25:21
Torge
Hallo,
wer kann helfen? Möchte gern mehrere Tabellenblätter per VBA in eine neue Mappe kopieren, Problem dabei ist, einige Tabellen sind ausgeblendet also nicht sichtbar. Geht dies überhaupt?
Vielen Dank
Torge

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mehrere Tabellen per VBA in neuen Mappe kopieren
12.06.2006 16:29:27
u_
Hallo,
nein, geht nicht. einblenden-kopieren-ausblenden.
Gruß
Geist ist geil!
(Dies ist ein allgemeines Statement und nicht an bestimmte Personen gerichtet.)
AW: Mehrere Tabellen per VBA in neuen Mappe kopieren
12.06.2006 16:39:46
Torge
Hi,
vielen Dank aber wie mach ich das? Kann man das Einblenden dann zeitlich beeinflussen? Das Problem ist, die ausgeblendeten Blätter sollten nach Möglichkeit nicht einsehbar sein oder aber so, dass diese nicht gelesen werden können.
Gruß Torge
AW: Mehrere Tabellen per VBA in neuen Mappe kopieren
12.06.2006 17:27:01
Lutz
Hallo Torge,
das Kopieren der Blätter kannst du wie in beigefügtem Makro (s.u.) erledigen. Den Wunsch nach zeitlicher Beeinflussbarkeit kann ich jetzt nicht nachvollziehen, da müsstest du noch genauer werden (deshalb lasse ich die Frage noch offen). Durch Ausschalten der Bildschirmaktualisierung sieht der Benutzer nicht, was das Makro gerade anrichtet. ;-)
Wenn die Blätter gar nicht einsehbar sein sollen, kannst du die Blätter auch mit xlveryhidden (einfach unten statt .visible=false .visible=xlveryhidden eintragen) ausblenden, das hab ich in dem beigefügten Makro nicht gemacht.
Hier ist das erwähnte Beispiel:

Sub BlaetterKopieren()
Dim ZielDatei As String
'***    Bildschirmaktualisierung ausschalten
Application.ScreenUpdating = True
'***    sichtbares Sheet in neue Mappe kopieren
Workbooks("Quelldatei.xls").Worksheets("Sichtbar1").Copy
'***    Dateinamen der neuen Mappe ermitteln
ZielDatei = Workbooks(Workbooks.Count).Name
'***    verborgenes Blatt einblenden und anschließend in die neue Mappe nach Blatt Sichtbar1 einfügen
Workbooks("Quelldatei.xls").Worksheets("Unsichtbar1").Visible = True
Workbooks("Quelldatei.xls").Worksheets("Unsichtbar1").Copy After:=Workbooks(ZielDatei).Worksheets("Sichtbar1")
'***    ehem. verborgene Blätter in Quell- und neuer Datei ausblenden
Workbooks("Quelldatei.xls").Worksheets("Unsichtbar1").Visible = False
Workbooks(ZielDatei).Worksheets("Unsichtbar1").Visible = False
'***    Bildschirmaktualisierung wieder einschalten
Application.ScreenUpdating = True
End Sub

HTH
Lutz
Anzeige
AW: Mehrere Tabellen per VBA in neuen Mappe kopieren
12.06.2006 17:50:50
Torge
Hallo Lutz,
vielen Dank zunächst.
Habe folgendes von Dir mal probiert:

Private Sub CommandButton3_Click()
Dim ZielDatei As String
'***    Bildschirmaktualisierung ausschalten
Application.ScreenUpdating = True
'***    sichtbares Sheet in neue Mappe kopieren
Workbooks("test.xls").Worksheets("Fin.-Anfrage").Copy
'***    Dateinamen der neuen Mappe ermitteln
ZielDatei = Workbooks(Workbooks.Count).Name
'***    verborgenes Blatt einblenden und anschließend in die neue Mappe nach Blatt Sichtbar1 einfügen
Workbooks("test.xls").Worksheets("Dateneingabe").Visible = True
Workbooks("test.xls").Worksheets("Fi-Plan (Neubau)").Copy After:=Workbooks(ZielDatei).Worksheets("Sichtbar1")
Workbooks("test.xls").Worksheets("Fi-Plan (Bestand)").Copy After:=Workbooks(ZielDatei).Worksheets("Sichtbar1")
'***    ehem. verborgene Blätter in Quell- und neuer Datei ausblenden
Workbooks("test.xls").Worksheets("Dateneingabe").Visible = False
Workbooks(ZielDatei).Worksheets("Fi-Plan (Neubau)").Visible = False
Workbooks(ZielDatei).Worksheets("Fi-Plan (Bestand)").Visible = False
'***    Bildschirmaktualisierung wieder einschalten
Application.ScreenUpdating = True
End Sub

Leider wird hier nur eine Tabelle kopiert und dann kommt Fehlermeldung.
Das zeitliche war nur gedacht für den Fall, dass eben die ausgeblendeten Tabellen beim Kopieren nicht gesehen werden sollten oder können. Das wollte ich gern erreichen dabei.
Kannst Du mir noch was zu der Fehlermeldung sagen warum ich die bekommen?
Gruß Torge
Anzeige
AW: Mehrere Tabellen per VBA in neuen Mappe kopieren
12.06.2006 18:23:35
Lutz
Hallo Torge,
du hast den Code nicht vollständig angepasst, hier liegt's im Argen:
Workbooks("test.xls").Worksheets("Fi-Plan (Neubau)").Copy After:=Workbooks(ZielDatei).Worksheets("Sichtbar1")
Workbooks("test.xls").Worksheets("Fi-Plan (Bestand)").Copy After:=Workbooks(ZielDatei).Worksheets("Sichtbar1")
Wie du siehst, hast du noch "Sichtbar1" stehen, das musst du noch durch "Fin.-Anfrage" bzw. den Namen des Blattes, nach welchem eingefügt werden soll, ersetzen. Dann sollte es funktionieren.
Allerdings ist die Lösung von u_ bei vielen zu kopierenden Blättern m.E. wesentlich schneller.
Viele Grüße
Lutz
Anzeige
AW: Mehrere Tabellen per VBA in neuen Mappe kopieren
13.06.2006 09:19:12
Torge
Hallo Lutz,
vielen Dank für die Hilfe. Werd mal beide Code's bei mir versuchen zu verwenden und schauen welcher am besten passt.
Also vielen Dank und schönen Tag noch.
Gruß Torge
AW: Mehrere Tabellen per VBA in neuen Mappe kopier
12.06.2006 17:45:19
u_
Hallo,
das kriegst du gar nicht mit.
Bau dir mal ne Mappe mit 5 Sheets, in der Sheet 4 und 5 ausgeblendet sind und starte den Code.
in ein Modul:

Sub test()
Application.ScreenUpdating = False
With ThisWorkbook
.Sheets(4).Visible = xlSheetVisible
.Sheets(5).Visible = xlSheetVisible
.Sheets(Array("tabelle1", "tabelle2", "tabelle4", "Tabelle5")).Copy
.Sheets(4).Visible = xlSheetVeryHidden
.Sheets(5).Visible = xlSheetVeryHidden
End With
Sheets(3).Visible = xlSheetVeryHidden
Sheets(4).Visible = xlSheetVeryHidden
Application.ScreenUpdating = True
End Sub

Gruß
Geist ist geil!
Anzeige
AW: Mehrere Tabellen per VBA in neuen Mappe kopier
12.06.2006 18:02:26
Torge
Hallo u_,
das geht ja wirklich schnell. Aber meine Dateien sind ziemlich groß, d.h. es sind viele Daten drin und es sollte dann natürlich nicht übermäßig nerven, wenn die Blätter kopiert werden.
Ich versuch das Mal in meiner Originaldatei einzubinden.
Vielleicht noch eine Frage, geht es, das nach dem die Blätter kopiert worden sind mittels einer Aktion durchzuführen (mittels MsgBox), in der die im ersten Tabellenblatt vorhandenen Formeln in Festwerte umgwandelt werden? Das darf aber nicht vorher sein, weil sonst die Originaldatei futsch ist, also erst nachdem die neue Mapper erstellt wurde.
Vielen Dank bis hier erst mal
Gruß Torge
Anzeige

119 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige