Utilizo Excel para generar archivos de texto que luego se analizan como entrada a una base de datos. Me molesta constantemente cuando tengo que guardar el archivo xlsx como un archivo de texto y cerrar Excel porque ahora estoy editando el archivo de texto en Excel. ¿Hay alguna manera que no veo para generar el archivo de texto pero mantener el archivo xlsx abierto en Excel?
Respuesta1
Necesitará una macro VBA para eso, que puede verse así:
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
Puede modificar la subrutina como desee, tal vez agregando "euth.csv" como parámetro o solicitándolo. Si la hoja de cálculo tiene sólo una columna, este código se puede simplificar considerablemente.
Para obtener una explicación de los comandos utilizados anteriormente, consulte el artículo. Escribir en archivos de texto en Excel VBA/