Excel. Split una columna en varias.

Tengo un inconveniente que no puedo solucionar.

Tengo una celda con varios datos en la hoja 2.

EJ : Celda A 1 = 12 . 24. 32. 56.      

Necesito poder separar esos datos, y agregarlos en forma secuencial a una tabla que se encuentra en la hoja 1.

Tengo la siguiente expresión, pero no logro hacerla funcionar.

h1.Range(u, "AC:AO") = Split(a, ".")

Donde : "u" es una variable que define la linea, y lo que hace es agregar los datos secuencialmente en distintas lineas cada vez que se ejecuta la macro. Y AC:AO el rango de columnas donde quiero los datos separados. "a" Es la variable que contiene los datos de la celda original. (12 . 24. 32. 56.).

¿Me podrían ayudar a arreglar mi error?

2 Respuestas

Respuesta
1

H o l a:

La expresión sería así:

h1.Range("AC" & u & ":AO" & u) = Split(a, ".")

Pero, en tu ejemplo, solamente tienes 4 celdas, y de AC a AO son 13 celdas, en 9 celdas te pondrá el resultado: #N/A, entonces lo reemplazamos con "", quedaría así:

    h1.Range("AC" & u & ":AO" & u) = Split(a, ".")
    h1.Range("AC" & u & ":AO" & u).Replace "#N/A", ""

Respuesta
1

Santiago. Te podría comentar dos métodos:

MÉTODO 1:

aaa = Split(h1.[a1], ".")
h1.Cells(u, "ac").Resize(, 1 + UBound(aaa)).FormulaArray = aaa

MÉTODO 2:

h1.Range("a1").TextToColumns h1.Cells(u, "ac"), DataType:=xlDelimited, Tab:=False, Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar:="."

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas