Array(ya resuelto )

Elsa mil gracias por tu ayuda, ya le encontré solución a esto. No aprendo nada de visual basic.
Pero me estoy haciendo experto en grabar macros. ¿jajaja qué feo es eso no?

1 Respuesta

Respuesta
1
Intenté enviarte ayer la respuesta pero no me habilitó el sitio.
Ya sé que lo solucionaste, pero aquí va una rutina 'explicada'
(Te recomiendo mi Manual para que además de experto en grabar seas experto en programar, ¿qué te parece? )
Adjunto respuesta escrita aer:
Hola:
Primero quiero aclararte que nosotros no tenemos acceso a los mail, por lo que si finalizas una consulta no tenemos cómo volverte a responder.
Bueno, aquí va: si los datos son tal como la muestra solo tenemos 2 largos de cifras y usé esa información para armar un solo Array.
Espero te resulte.
Saludos
Elsa
Sub arrayes()
'Macro grabada el 28/04/05 por Elsamatilde
Range("A65500").End(xlUp).Select
'La tabla debe comenzar en la fila 2
While ActiveCell.Row > 1
If Len(ActiveCell) > 0 Then
If Len(ActiveCell) > 24 Then
Selection.TextToColumns Destination:=ActiveCell.Offset(0, 1), DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 1), Array(3, 1), Array(8, 2), Array(10, 2), Array(12, 2), _
Array(16, 1), Array(21, 1)), TrailingMinusNumbers:=True
Else
Selection.TextToColumns Destination:=ActiveCell.Offset(0, 1), DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 1), Array(3, 1), Array(8, 2), Array(10, 2), Array(12, 2), _
Array(13, 1), Array(18, 1)), TrailingMinusNumbers:=True
End If
End If
ActiveCell.Offset(-1, 0).Select
Wend
End Sub
(No olvides que la tabla debe comenzar en la fila 2)
Estupendo.
Solo una pregunta más, ¿es posible usarla desde la primera fila?.
Gracias por tu gran ayuda, eres la mejor.
Si, es posible. Te envío la misma con algunos cambios:
Sub arrayes()
'Macro grabada el 28/04/05 por Elsamatilde
Dim conta As Byte
Range("A65500").End(xlUp).Select
'La tabla debe comenzar en la fila 2
While conta = 0
If Len(ActiveCell) > 0 Then
If Len(ActiveCell) > 24 Then
Selection.TextToColumns Destination:=ActiveCell.Offset(0, 1), DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 1), Array(3, 1), Array(8, 2), Array(10, 2), Array(12, 2), _
Array(16, 1), Array(21, 1)), TrailingMinusNumbers:=True
Else
Selection.TextToColumns Destination:=ActiveCell.Offset(0, 1), DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 1), Array(3, 1), Array(8, 2), Array(10, 2), Array(12, 2), _
Array(13, 1), Array(18, 1)), TrailingMinusNumbers:=True
End If
End If
If ActiveCell.Row > 1 Then
ActiveCell.Offset(-1, 0).Select
Else
conta = 1
End If
Wend
End Sub

Añade tu respuesta

Haz clic para o
El autor de la pregunta ya no la sigue por lo que es posible que no reciba tu respuesta.

Más respuestas relacionadas