¿Cómo modificar Macro para que se detenga en celdas con contenido " "?
Tengo una macro sumamente útil, que me permite generar cadenas de registros *.txt, a partir de los datos que toma de una hoja de excel. Esa hoja es el resultado de operaciones de otras hojas. Por lo que de acuerdo a los registros de cada mes puede completar más o menos filas. La macro actual no tiene en cuenta las celdas que están vacías, cosa que es correcto. Necesito además que la macro no tome en cuenta las celdas cuyo contenido es " ".
Esta es la macro en cuestión:
Sub GuardarTxt()
'Por.Dante Amor
FileNum = FreeFile()
ruta = "F:\TIENDA\INTER\"
arch = Range("D1").Value & ".txt"
'arch = "000517.txt"
Open ruta & arch For Output As #FileNum
'columnas A B C D E F G H I J K L M N O
cols = Array(0, 1, 1, 25, 1, 12, 12, 5, 14, 12, 1, 1, 1, 1, 8, 1)
For i = 1 To Range("A" & Rows.Count).End(xlUp).Row
For j = 1 To Columns("O").Column
dato = Cells(i, j)
Select Case j
Case 1, 10
dato = Format(dato, "dd/mm/yyyy")
Case 5, 6, 9
dato = Formatear(dato, cols, j, "0.00")
Case 8
dato = Formatear(dato, cols, j, "0.000000")
Case 7, 14
dato = Formatear(dato, cols, j, "0")
End Select
largo = cols(j)
If largo = 1 Then
largo = Len(dato)
End If
For k = 1 To largo
car = Mid(dato, k, 1)
If car = "" Then car = " "
Print #FileNum, car;
Next
Print #FileNum, "|";
Next
Print #FileNum,
Next
Close #FileNum
'
MsgBox "Txt generado"
End Sub
'
Function Formatear(dato, cols, j, formato)
dato = Format(dato, formato)
l = Len(dato)
m = cols(j)
d = m - l
Formatear = String(d, " ") & dato
End Function