Microsoft Excel

Herbers Excel/VBA-Archiv

csvDatei speichern | Herbers Excel-Forum


Betrifft: csvDatei speichern von: cvs Datei Speichern
Geschrieben am: 13.11.2009 13:58:23

Hallo Excelfreunde,
ich bearbeite eine csvDatei u möchte diese dann als xls Datei speichern mit folgenden Script funktioniert es:

Dim StrWbName As String
StrWbName = Replace(ActiveWorkbook.Name, "csv", "xls")
StrWbName = Date & StrWbName
ChDir "C:\Users\Steffen\Desktop"
ActiveWorkbook.SaveAs Filename:="C:\Users\Steffen\Desktop\ " & StrWbName & "" _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False

nun möchte ich aber dem user die Wahl des Speicherortes überlassen,dazu habe ich es mit :

StrWbName = Replace(ActiveWorkbook.Name, "csv", "xls")
StrWbName = Date & StrWbName
Neuer_Dateiname = Application.GetSaveAsFilename(InitialFileName:=StrWbName, fileFilter:="Excel-Arbeitsmappe, *.xls")
If Neuer_Dateiname = False Then Exit Sub
ActiveWorkbook.SaveAs Filename:=Neuer_Dateiname

versucht,jedoch wird die Änderung der csvDatei nicht gespeichert.Wenn ich sie wieder öffne ist sie unbearbeitet.

Wie bekomme ich es hin das ich mit der Auswahl des Speicherortes die bearbeitete csvDatei in eine excelDatei gespeichert bekomme?

viele grüße Steffen

  

Betrifft: AW: csvDatei speichern von: JogyB
Geschrieben am: 13.11.2009 14:15:47

Hi.

ActiveWorkbook.SaveAs Filename:=Neuer_Dateiname, FileFormat:=xlNormal

So speicherst Du die wieder als CSV. Und da gehen alle Formatierungen verloren (das meinst Du wohl mit unbearbeitet, denn Änderungen von Werten übernimmt es mit Sicherheit).

Gruss, Jogy


  

Betrifft: AW: csvDatei speichern von: cvs Datei Speichern
Geschrieben am: 13.11.2009 14:25:12

Hallo Jogy,
Danke fürs schnelle Antworten!

Ich nehme nur Formatieren in dieser csv Datei vor. Die aber wie beschrieben im ersten Skript auch so gespeichert wird nur eben nicht mit der "GetSaveAsFilename-Methode"?!
Hast du vlt noch ein Tip für mich?
VG Steffen


  

Betrifft: AW: csvDatei speichern von: JogyB
Geschrieben am: 13.11.2009 14:27:29

Hi.

Sorry, das "So" sollte ein "Sonst" sein.

Und mein Tipp steht doch schon da, Du mußt das
ActiveWorkbook.SaveAs Filename:=Neuer_Dateiname
durch
ActiveWorkbook.SaveAs Filename:=Neuer_Dateiname, FileFormat:=xlNormal
ersetzen.

Gruss, Jogy


  

Betrifft: AW: csvDatei speichern von: fcs
Geschrieben am: 13.11.2009 14:29:19

Hallo Steffen,

wie bei der Speicherung unter deienm eigenen Desktopverzeichnis muss du auch hier das Fileformat angeben unter dem gespeicher werden soll.

Außerdem solltest du das Datum im Dateinamen anders formatieren. Die Punkte bereiten gelegentlich Schwierigkeiten und bei der Angabe von TT.MM.JJJJ ist die Sortierung nach Name nicht optimal sobald das Datum über mehr als einen Monat geht.

Gruß
Franz

Sub aaTest()

  Dim StrWbName As String, Neuer_Dateiname
  StrWbName = Replace(ActiveWorkbook.Name, "csv", "xls")
  StrWbName = Date & StrWbName
  'ChDir "C:\Users\Steffen\Desktop"
  'ActiveWorkbook.SaveAs Filename:="C:\Users\Steffen\Desktop\ " & StrWbName & "" _
  , FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
  ReadOnlyRecommended:=False, CreateBackup:=False
  
  'nun möchte ich aber dem user die Wahl des Speicherortes überlassen,dazu habe ich es mit :
  
  StrWbName = Replace(ActiveWorkbook.Name, "csv", "xls")
  'StrWbName = Date & StrWbName
  StrWbName = Format(Date, "YYYY_MM_DD ") & StrWbName 'Empfehlung: Datum nicht mit _
      Punkten sondern anders trennen, besser sortierbar und weniger Probleme beim _
      Suchen von Dateien
  Neuer_Dateiname = Application.GetSaveAsFilename(InitialFileName:=StrWbName, _
          fileFilter:="Excel-Arbeitsmappe, *.xls")
  If Neuer_Dateiname = False Then Exit Sub
  ActiveWorkbook.SaveAs Filename:=Neuer_Dateiname, FileFormat:=xlNormal, addtomru:=True

End Sub



  

Betrifft: Ich bin mal wieder.. von: cvs Datei Speichern
Geschrieben am: 13.11.2009 14:39:58

zutiefst beeindruckt!
Danke Jogy & Franz Ihr hab mir sehr geholfen!
Viele Grüße Steffen


Beiträge aus den Excel-Beispielen zum Thema "csvDatei speichern"