Ich verwende Excel, um Textdateien zu generieren, die dann als Eingabe in eine Datenbank analysiert werden. Ich bin ständig genervt, wenn ich die XLSX-Datei als Textdatei speichern und Excel schließen muss, weil ich die Textdatei jetzt in Excel bearbeite. Gibt es eine Möglichkeit, die ich einfach nicht sehe, um die Textdatei zu generieren, die XLSX-Datei aber in Excel geöffnet zu lassen?
Antwort1
Dazu benötigen Sie ein VBA-Makro, das beispielsweise so aussehen kann:
Sub WriteTextFile()
Dim FilePath As String
Dim CellData As String
Dim LastCol As Long
Dim LastRow As Long
LastCol = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Column
LastRow = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
CellData = ""
FilePath = Application.DefaultFilePath & "\euth.csv"
Open FilePath For Output As #2
For i = 1 To LastRow
For j = 1 To LastCol
If j = LastCol Then
CellData = CellData + TrimtActiveCell(i, j).Value)
Else
CellData = CellData + TrimtActiveCell(i, j).Value) + ","
End If
Next j
Write #2, CellData
CellData = ""
Next i
Close #2
MsgBox ("Done")
End Sub
Sie können die Subroutine beliebig ändern, beispielsweise „euth.csv“ als Parameter hinzufügen oder danach fragen. Wenn die Tabelle nur eine Spalte hat, kann dieser Code erheblich vereinfacht werden.
Eine Erklärung der oben verwendeten Befehle finden Sie im Artikel Schreiben in Textdateien in Excel VBA/