Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1372to1376
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
Inhaltsverzeichnis

Active Sheet in neue Datei mit VBA

Active Sheet in neue Datei mit VBA
06.08.2014 18:37:07
Andreas
Hallo Excelfreunde,
Habe folgenden Code der auch funktioniert.
Mit diesem Code kann ich aus meinem aktiven Sheet über einen CommandButton das aktive Sheet in eine Neue Datei die welche laut Makro Vorgabe neu erstellt wird mit allen Inhalten sowie vorhandenen CommandButtons einfügen. Das ist auch so gewollt.
Sub Speichern3()
Dim strPath As String
Application.ScreenUpdating = False
ChDrive "D:\"
ChDir Sheets("Eingabe").Range("F3").Value ' Pfad aus Zelle F3
Sheets("Eingabe").Copy
strPath = Application.GetSaveAsFilename(InitialFileName:=Sheets("Eingabe").Range("D5").Value & ".xls", FileFilter:="Exceldateien (*.xls),*.xls,Alle Dateien (*.*), *.*") If strPath = "False" Or strPath = "Falsch" Then Exit Sub
ActiveWorkbook.SaveAs strPath
ActiveWorkbook.Close
Application.ScreenUpdating = True
End Sub Jetzt möchte ich aber noch verschiedene andere Sheets (aber eben nicht alle) aus der aktiven Datei auf die gleiche Weise kopieren und in die neue Datei einfügen. Wenn das neue Sheet in der neuen Datei schon vorhanden ist soll es nicht reinkopiert werden und eine Meldung kommen. Wenn das zu kopierende Sheet noch nicht in der neu erstellten Datei vorhanden ist soll es eingefügt werden.
Das kann ich aber mit diesem Makro nicht machen.
Ich habe aber noch ein Makro
Private Sub TabellenblattSpeichern()
'ActiveSheet.Name = ActiveSheet.Range("D13")
'ActiveSheet.Copy After:=Workbooks("Teilnehmerliste_ViA.xlsm").Sheets(Sheets.Count)
ActiveSheet.Copy After:=Workbooks("Teilnehmerliste_ViA.xlsm").Sheets(Workbooks(" _
Teilnehmerliste_ViA1.xlsm").Sheets.Count)
     'ActiveSheet.Shapes.Range(Array("CommandButton1")).Select
'Selection.Delete
'ActiveSheet.Shapes.Range(Array("CommandButton2")).Select
'Selection.Delete
'ActiveSheet.Shapes.Range(Array("CommandButton3")).Select
'Selection.Delete
End Sub

mit diesem Makro fett dargestellte Codezeile kann ich das aktive Sheet kopieren. Dieses wird aber in meine aktive Datei eingefügt. Ich will aber das mit dieser Codezeile das wie zuvor beschrieben das aktive Sheet in die Neu erstellte Datei eingefügt wird.
Wie muß ich dies in mein erstes Makro mit einbauen. Leider krieg ich das ohne hilfe nicht hin.
Kann mir jemand meinen ersten Code dementsprechend anpassen. Meine VBA Kenntnisse sind noch eher mangelhaft. Sorry
liebe Grüße Andreas

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Active Sheet in neue Datei mit VBA
06.08.2014 18:47:35
Luschi
Hallo Andreas,
ActiveSheet.Copy
kopiert die gerade sichtbare Tabelle in eine neue leere Arbeitsmappe.
Gruß von Luschi
aus klein-Paris

AW: Active Sheet in neue Datei mit VBA
06.08.2014 19:37:27
Andreas
Hallo Luschi,
klappt nicht mit meinem Code
trotzdem Danke
hier nochmal kurz mein Problem geschildert
Private Sub CommandButton3_Click()
Speichern3
End Sub

Sub Speichern3()
Dim strPath As String
Application.ScreenUpdating = False
ChDrive "D:\"
' Pfad fest vorgeben
ChDir "D:\Users\OH"
' Pfad aus Zelle C1
'ChDir Sheets("Tabelle1").Range("C1").Value
Sheets("Eingabe").Copy
strPath = Application.GetSaveAsFilename(InitialFileName:=Sheets("Eingabe").Range("D5").Value & ".xls", FileFilter:="Exceldateien (*.xls),*.xls,Alle Dateien (*.*), *.*")
If strPath = "False" Or strPath = "Falsch" Then Exit Sub
ActiveWorkbook.SaveAs strPath
ActiveWorkbook.Close
Application.ScreenUpdating = True
End Sub
habe Deine Codezeile anstatt meiner Codezeile "Sheets("Eingabe").Copy"
an gleicher Stelle in meinem Code ersetzt gehabt. Leider ohne erfolg.
Der Code kopiert eben nur immer ein ausgewähltes Tabellenblatt in die neue Datei. Wenn ich jetzt aber ein neues (zweites) ausgewähltes Tabellenblatt in die neue Datei einfügen will macht der Code dies eigentlich auch. Nur jetzt wird dann meine Neue vorhandene Datei überschrieben und ich habe wieder nur das eine gerade vorher selektierte Tabellenblatt in meiner neuen Datei.
Ich will aber das die Datei nicht überschrieben wird und alle neu einzufügenden Tabellen eingefügt werden.
Dies hätte ich gern in meinem Makro mit eingebaut.
Kann mir da einer weiterhelfen? Und meinen Code dementsprechend anpassen?
Brauch echt Hilfe dazu.
liebe Grüße Andreas

Anzeige
AW: Active Sheet in neue Datei mit VBA
06.08.2014 20:30:17
Uduuh
Hallo,
hilft dir
sheets(array("Tabelle1", "tabelle2","etc")).copy

weiter?
Gruß aus’m Pott
Udo

AW: Active Sheet in neue Datei mit VBA
06.08.2014 20:40:55
Andreas
Hallo Uduuh,
Super das wars.
funktioniert bestens. Wenn ich jetzt in das Array alle meine Tabellen mit Namen eintrage werden sie mit allen Formatierungen , Formeln und allen vorhandenen CommandButtons kopiert. So wollte ich das haben.
Somit ist mein Problem gelöst.
Nochmals besten Dank
liebe Grüße Andreas

322 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige