Ver Mensaje Individual
  #4 (permalink)  
Antiguo 27/02/2008, 12:44
Avatar de 3pies
3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 21 años, 3 meses
Puntos: 144
Re: Conversión a XLS a TXT

Prueba este macro (seguramente se podrá mejorar, porque lo acabo de hacer). Solo tienes que cambiar la celda inicial y la final, para saber qué rango de celdas son las que se van a tratar:
Código:
Sub acomodar_texto()
Application.ScreenUpdating = False
'***********************
'datos a cambiar
celda_inicial = "A1"
celda_final = "C3"
'***********************
'pasamos los datos a variables
min_fila = Range(celda_inicial).Row
max_fila = Range(celda_final).Row
min_columna = Range(celda_inicial).Column
max_columna = Range(celda_final).Column
'nos situamos en la primera celda
Range(celda_inicial).Select
Selection.NumberFormat = "@"
'comenzamos a contar caracteres de largo
maximo = 0
For i = min_fila To max_fila
    For j = min_columna To max_columna
        maximo_tmp = Len(ActiveCell)
        If maximo_tmp > maximo Then maximo = maximo_tmp
        ActiveCell.Offset(0, 1).Select
        Selection.NumberFormat = "@"
    Next
    ActiveCell.Offset(1, -max_columna).Select
Next
'nos situamos en la primera celda
Range(celda_inicial).Select
'añadimos los espacios necesarios,
'una vez determinado el máximo
For i = min_fila To max_fila
    For j = min_columna To max_columna
        ActiveCell = ActiveCell & String(maximo - Len(ActiveCell), " ")
        ActiveCell.Offset(0, 1).Select
    Next
    ActiveCell.Offset(1, -max_columna).Select
Next
Application.ScreenUpdating = True
End Sub
Edito:
Guarda el fichero con los datos originales antes de ejecutar el macro. Seguidamente ejecutas el macro, y te convertirá a texto todos los datos, incluidos los numéricos, y les añadirá detrás los espacios necesarios para que al guardar los datos como fichero de texto, queden perfectamente elineados.

Salu2

Última edición por 3pies; 27/02/2008 a las 13:24