Cómo utilizar la programación VB para clasificar datos en EXCEL
1. Para los dos primeros problemas, la macro que escribí puede resolverlos perfectamente. El código es el siguiente:
Sub?Disaggregate()
'. Espacios como símbolo separador, solo se cuenta un espacio consecutivo. Procesar celdas seleccionadas
Dim?m?As?Range,?tmpStr?As?String,?s?As?String
Dim?x?As?Integer,? ?Integer,?subStr?As?String
If?MsgBox("¿Está seguro de que desea descomponerlo? ¡Asegúrese de que los datos descompuestos cubran las siguientes celdas!",?
vbYesNoCancel?+?vbQuestion)? <>?vbYes?Then?Exit?Sub
Para?Cada?m?En?Selección
x?=?m. ()
y?=?m.Row()
tmpStr?=?m.Value
subStr?=?""
For?i?=?1?To?Len(tmpStr)
s?=?Mid(tmpStr,?i,?1)
Si?Y?subStr ? =?"" ?Then?' Se ignoran los espacios continuos
ElseIf?s?=??"And?subStr??"Then?" El espacio indica el final de la subcadena
Celdas(y,?x).Valor?=?subStr
subStr?=?""
x?=?x?+?1
¿ElseIf? s?<>?"?"¿Entonces? "Nueva subcadena comienza o está en progreso
subStr?=?subStr?&?s
Fin?If
Siguiente?i
Si?subStr?<>?"" ¿Entonces? Celdas(y,?x).Valor?=?subStr
Siguiente?m
Fin?