Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen

Tabellenblatt separat speichern als csv | Herbers Excel-Forum


Betrifft: Tabellenblatt separat speichern als csv von: Herbert Brun
Geschrieben am: 16.10.2008 16:07:40

Hallo,

der beigefügte Code wurde mir freundlicherweise hier bereit gestellt. Aus einer Datei wird ein Tabellenblatt in eine neue Datei im Ordner C:\temp gespeichert. Das Dateiformat der neuen Datei ist csv. Die einzelnen Werte der neuen csv-Datei werden durch Semikolon getrennt. Ich benötige aber die Trennung durch Tabstop. Wie ist hierfür das Code (strSep = "????")?

Danke für Hinweise.

Gruß Herbert


Private Sub CommandButton1_Click()
  Dim strSep As String, strDat As String, _
    iCols As Byte, iRows As Integer, _
    iR As Long, strTxt As String, strTmp, _
    strPfad As String
  strPfad = "c:\temp\"
  Reset
  With ActiveSheet
    iRows = .UsedRange.Rows.Count
    iCols = .UsedRange.Columns.Count
    strSep = ";"
    strDat = strPfad & ActiveSheet.Name & ".csv"
    Open strDat For Output As #1
    For iR = 1 To iRows
      strTmp = .Range(.Cells(iR, 1), .Cells(iR, iCols))
      strTmp = WorksheetFunction.Transpose(WorksheetFunction.Transpose(strTmp))
      strTxt = Join(strTmp, strSep)
      Print #1, strTxt
    Next iR
    Close #1
    
  End With
End Sub


  

Betrifft: AW: Tabellenblatt separat speichern als csv von: Bertram
Geschrieben am: 16.10.2008 16:23:49

Hallo Herbert,

hab den Code nicht im Einzelnen nachvollzogen, aber strSep = vbTab sollte es sein.

Gruß
Bertram


  

Betrifft: AW: Tabellenblatt separat speichern als csv von: Herbert Brun
Geschrieben am: 16.10.2008 16:38:28

Danke für die Hilfe. Funktioniert leider nicht. In der neuen steht nun statt dem Semikolon überall das Wort "vbTab".


  

Betrifft: AW: Tabellenblatt separat speichern als csv von: Luschi
Geschrieben am: 16.10.2008 17:07:31

Hallo Bertram,

strSep = vbTab ist richtig
strSep = Chr(9) ist richtig
strSep = "vbTab" ist falsch

vbTab entspricht dem Steuerzeichen Tabulatur, ebenso Chr(9)

Gruß von Luschi
aus klein-Paris


  

Betrifft: AW: Tabellenblatt separat speichern als csv von: Tino
Geschrieben am: 16.10.2008 17:11:02

Hallo,
speichere Deine neue Datei mit der Tabelle, als Textdatei mit Tab als Trennzeichen und benenne diese zum Schuss in eine *.csv Datei um, müsste funktionieren.

Beispiel:

 With Application
  .ScreenUpdating = False
    ActiveSheet.Copy
    ActiveWorkbook.SaveAs Filename:="C:\TestDatei.txt", FileFormat:= _
        xlText, CreateBackup:=False
    ActiveWorkbook.Close False
   .ScreenUpdating = True
 End With

Name "C:\TestDatei.txt" As "C:\TestDatei.csv"



Gruß Tino


  

Betrifft: Danke von: Herbert Brun
Geschrieben am: 16.10.2008 17:17:22

Vielen Dank. Funktioniert!


Beiträge aus den Excel-Beispielen zum Thema "Tabellenblatt separat speichern als csv"