Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1092to1096
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

Blatt Kopieren

Blatt Kopieren
Stefanglander
Hallo Excelanier,
ich habe beim suchen einer Problemlösung folgendes gefunden:
Sub KopiereBlatt()
ThisWorkbook.Sheets("Namen").Copy
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\test.xls"
ActiveWorkbook.Close 'falls gewünscht
End Sub
Das haut soweit auch hin.
Nun aber meine Frage, ich möchte die Zeile "ThisWorkbook.Sheets("Namen").Copy" gerne so ändern das egal wie die Tabelle heißt immer das Blatt 5 kopiert wird.
Die Zeile ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\test.xls" sollte so geändert werden, das die neue Datei den Namen des zukopierenden Blattes hat, allerdings soll der Dateiname immer vorweg den Begriff "Liste" stehen haben.
Beispiel: Das zu kopierende Blatt heißt Dosenbrot, Erwin". Die neue Datei soll dann Liste Dosenbrot, Erwin.xls heißen.
Kann mir bitte jemand helfen?
Gruss
Stefan

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Blatt Kopieren
10.08.2009 20:00:11
Daniel
Hi
Sub KopiereBlatt()
ThisWorkbook.Sheets(5).Copy
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\Liste " & Thisworkbook.Sheets(5).Name & ". _
xls"
ActiveWorkbook.Close 'falls gewünscht
End Sub
Gruß, Daniel
AW: Blatt Kopieren
10.08.2009 20:01:48
Tino
Hallo,
versuche es mal so
Sub KopiereBlatt()
Dim strFile As String

'Pfad 
strFile = IIf(Right(ThisWorkbook.Path, 1) = "\", ThisWorkbook.Path, ThisWorkbook.Path & "\")

With Application
 .ScreenUpdating = False 'Bildschirmaktualisierung aus 
 .DisplayAlerts = False 'Meldungen aus 
    
    With ThisWorkbook.Sheets(5) '5. Tabelle 
     strFile = strFile & "Liste " & .Name & ".xls" 'Pfad + Dateiname 
     .Copy 'kopieren 
    End With
    
    With ActiveWorkbook
     .SaveAs Filename:=strFile 'speichern 
     .Close False 'falls gewünscht 
    End With
 
 .ScreenUpdating = True
 .DisplayAlerts = True
End With
End Sub
Gruß Tino
Anzeige
AW: Blatt Kopieren
10.08.2009 20:06:16
Erich
Hi Stefan,
probier mal

Option Explicit
Sub KopiereBlatt()
Dim strNam As String
strNam = "\Liste " & Sheets(5).Name & ".xls"
ThisWorkbook.Sheets(5).Copy
With ActiveWorkbook
.SaveAs Filename:=ThisWorkbook.Path & strNam
.Close 'falls gewünscht
End With
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Danke Euch allen.....
10.08.2009 20:22:33
Stefanglander
habe alle drei Lösungen ausprobiert.
laufen alle.
Recht vielen Dank
Gruss
Stefan
Nachbrenner....
10.08.2009 21:32:59
Stefanglander
Hallo Forum,
haut wie gesagt super hin, habe den Code von Tino genommen.
Kann man den Pfad zum anlegen der neuen Datei auch bestimmen?
Ich würde gerne die neue Datei in das Laufwerk "E" in das Verzeichnis Test ind das Unterverzeichniss NocheinTest automatisch speichern ( D:/Test/NocheinTest)
Geht das ?
Gruss
Stefan
Anzeige
kannst Du so machen,...
10.08.2009 21:48:35
Tino
Hallo,
ist der Ordner nicht vorhanden wird er angelegt.
Laufwerk muss aber vorhanden sein und Du musst Dich zwischen Laufwerk E und D entscheiden.
Option Explicit
Private Declare Function apiCreateFullPath _
Lib "imagehlp.dll" Alias "MakeSureDirectoryPathExists" (ByVal lpPath As String) As Long

Sub KopiereBlatt()
Dim strFile As String
Dim lngPath As Long

'Pfad abschließen mit \ am Ende 
strFile = "D:\Test\NocheinTest\"
lngPath = apiCreateFullPath(strFile) 'Ordner anlegen, wenn ich vorhanden 

If lngPath = 1 Then
    With Application
     .ScreenUpdating = False 'Bildschirmaktualisierung aus 
     .DisplayAlerts = False 'Meldungen aus 
        
        With ThisWorkbook.Sheets(5) '5. Tabelle 
         strFile = strFile & "Liste " & .Name & ".xls" 'Pfad + Dateiname 
         .Copy 'kopieren 
        End With
        
        With ActiveWorkbook
         .SaveAs Filename:=strFile 'speichern 
         .Close False 'falls gewünscht 
        End With
     
     .ScreenUpdating = True
     .DisplayAlerts = True
    End With
Else
 MsgBox "Ordner konnte nicht gefunden oder angelegt werden!"
End If

End Sub
Gruß Tino
Anzeige
Ich sage nur SuperDanke (o.T.)
10.08.2009 22:00:50
Stefanglander
.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige