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

Aus xLS Datei ein bestimmtes Blatt als csv Datei

Aus xLS Datei ein bestimmtes Blatt als csv Datei
05.06.2005 16:23:18
Franz
Hallo!
Habe folgendes Problem. Ich möchte aus einer Arbeitsmappe ein bestimmtes Blatt als csv Datei in einen bestimmten Ordner kopieren wobei die csv Datei einen vergebenen Namen haben soll der aus den Inhalt einer bestimmten Zelle eines Arbeitsblattes der Datei + Datum & Uhrzeit
erstellt wird.
Folgende Lösung habe ich angedacht, aus der Startdatei wird eine Dummydatei erzeugt und in den Zielordner angelegt danach sollte die Dummydatei verwendet werden um die csv Datei mit der Namensvergabe zum teil aus der Startdatei erzewugt zu werden, danach wird die Dummydatei gelöscht.
Lieber wäre mir die direkte Lösung gleich von der Startdatei weg funktioniert leider nicht es wird immer die ganze Startdatei als csv gespeichert und nicht das Blatt aus der Datei lt. Bsp.:

Sub blatttocsv()
Sheets("csv").Select
Sheets("csv").Copy
ChDir "P:\Doku-Ftp-Excel\Ziel"
ActiveWorkbook.saveas Filename:="c:\Doku-Ftp-Excel\Ziel\dummy.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWindow.Close
Workbooks.Open Filename:="c:\Doku-Ftp-Excel\Ziel\dummy.xls"
Windows("dummy.xls").Activate
Sheets("csv").Select
Dim myDate As String, myTime As String
myDate = Format(Date, "dd.mm.yyyy")
myTime = Format(Now, "hh-mm-ss")
ThisWorkbook.saveas Filename:="P:\Doku-Ftp-Excel\Ziel\" & Range("a1").Value & "_" & myDate & " " & myTime & ".csv"
ActiveWindow.Close
Workbooks.Open Filename:="c:\Doku-Ftp-Excel\Ziel\dummy.xls"
ActiveWindow.Close
If Len(Dir("c:\Doku-Ftp-Excel\Ziel\dummy.xls")) > 0 Then
Kill "c:\Doku-Ftp-Excel\Ziel\dummy.xls"
MsgBox "DUMMY has been killed"
Else
MsgBox "DUMMY never existed"
End If
End 

Sub
Für eine Hilfe wäre ich sehr dankbar

		

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

Betreff
Datum
Anwender
Anzeige
AW: Aus xLS Datei ein bestimmtes Blatt als csv Datei
05.06.2005 19:01:09
MichaV
Hi,
hier ein Beispiel für eine etwas direktere Lösung, die mir mal angeboten wurde.
Weiß aber nicht genau, ob ich Dich richtig verstanden habe.
Die Benennung der Tabelle/ Datei mußt Du noch einbauen.
https://www.herber.de/forum/archiv/580to584/t582957.htm#582995
von bst

Private Sub CommandButton1_Click()
Dim newname As String
newname = "d:\daten\" & ActiveSheet.Name
ActiveSheet.Copy
ActiveWorkbook.SaveAs Filename:=newname, FileFormat:=xlCSV
ActiveWorkbook.Close False
End Sub

Gruß- Micha
Anzeige
AW: Aus xLS Datei ein bestimmtes Blatt als csv Datei
05.06.2005 19:28:14
MichaV
die untere Sub kannst Du natürlich weglassen, ist nur "wegen der Optik".
Gruss- Micha
PS: Rückmeldung wäre nett.
aaaargh!
05.06.2005 19:56:23
MichaV
...ohje... das gehörte in einen anderen Threat...
AW: aaaargh!
06.06.2005 20:28:57
Franz
Danke hat super funktioniert anbei mein Code dank deiner Hilfe:

Sub shspcsv()
Sheets("csv").Select
Dim newname As String
newname = "c:Doku-Ftp-Excel\Ziel\" & ActiveSheet.Name
ActiveSheet.Copy
Dim myDate As String, myTime As String
myDate = Format(Date, "dd.mm.yyyy")
myTime = Format(Now, "hh-mm-ss")
'ActiveWorkbook.saveas Filename:="c:\Doku-Ftp-Excel\Ziel\" & Range("a1").Value & "_" & myDate & " " & myTime, FileFormat:=xlCSV
'ActiveWorkbook.saveas Filename:="c:\Doku-Ftp-Excel\Ziel\" & Range("a1").Value & "_" & myDate & " " & myTime & ".csv"
ActiveWorkbook.saveas Filename:="c:\Doku-Ftp-Excel\Ziel\" & Range("a1").Value & Format(Now, "yymmddhhnn") & ".csv"
ActiveWorkbook.Close False
End Sub

Gibt es eigentlich auch eine Möglichkeit die Datei aus Zelleninhalte anderer Blätter zu
ertellen. ZB Tabelle1 A1 (zb A1 =ABC) Tabelle2 B1 (zb B1 = 0815) Tabelle csv soll aus dieser Arbeitsmappe dann ABC 0815 06062005 202753.csv heissen
Gruß Franz
Anzeige
AW: aaaargh!
07.06.2005 08:31:40
MichaV
Hi,
na fein, daß es klappt.
Klar kannst Du den Namen aus anderen Zellinhalten erstellen:
ActiveWorkbook.saveas Filename:="c:\Doku-Ftp-Excel\Ziel\" & Sheets("Tabelle1").Range("a1") & " " & Sheets("Tabelle2").Range("B1") & ....
Gruss- Micha

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige