¿Que función de VBA me alinea todos los datos respecto a una columna?

He estado desarrollando una macro la cuál consiste en obtener datos de una web de la empresa, ya estoy en los pasos finales pero me he atorado en este detalle desde hace dos semanas; el caso es el siguiente:

Tengo que evaluar si se encuentra una "D" en ciertas coordenadas y en caso que sí me tiene que arrojar 13 caracteres por lo que ciertas celdas se llenan y otras no; esa parte de mi código es la siguiente:

For x = 2 To Fin Step 1

If Cells(x, 1) = "" Then

Exit For

End If

A = Sess0.screen.getstring(12, 10, 1)

B = Sess0.screen.getstring(14, 10, 1)

C = Sess0.screen.getstring(16, 10, 1)

D = Sess0.screen.getstring(18, 10, 1)

E = Sess0.screen.getstring(20, 10, 1)

F = Sess0.screen.getstring(22, 10, 1)

G = Sess0.screen.getstring(24, 10, 1)

H = Sess0.screen.getstring(26, 10, 1)

I = Sess0.screen.getstring(28, 10, 1)

J = Sess0.screen.getstring(30, 10, 1)

K = Sess0.screen.getstring(32, 10, 1)

L = Sess0.screen.getstring(34, 10, 1)

M = Sess0.screen.getstring(36, 10, 1)

N = Sess0.screen.getstring(38, 10, 1)

O = Sess0.screen.getstring(40, 10, 1)

If A = "D" Then Cells(x, 2) = Sess0.screen.getstring(12, 10, 13) End If

If B = "D" Then Cells(x, 2) = Sess0.screen.getstring(14, 10, 13) End If

If C = "D" Then Cells(x, 3) = Sess0.screen.getstring(16, 10, 13) End If

If D = "D" Then Cells(x, 4).Value = Sess0.screen.getstring(18, 10, 13) End If

If E = "D" Then Cells(x, 5).Value = Sess0.screen.getstring(20, 10, 13) End If

If F = "D" Then Cells(x, 6).Value = Sess0.screen.getstring(22, 10, 13) End If

If G = "D" Then Cells(x, 7).Value = Sess0.screen.getstring(24, 10, 13) End If

If H = "D" Then Cells(x, 8).Value = Sess0.screen.getstring(26, 10, 13) End If

If I = "D" Then Cells(x, 9).Value = Sess0.screen.getstring(28, 10, 13) End If

If J = "D" Then Cells(x, 10).Value = Sess0.screen.getstring(30, 10, 13) End If

If K = "D" Then Cells(x, 11).Value = Sess0.screen.getstring(32, 10, 13) End If

If L = "D" Then Cells(x, 12).Value = Sess0.screen.getstring(34, 10, 13) End If

If M = "D" Then Cells(x, 13).Value = Sess0.screen.getstring(36, 10, 13) End If

If N = "D" Then Cells(x, 14).Value = Sess0.screen.getstring(38, 10, 13) End If

If O = "D" Then Cells(x, 15).Value = Sess0.screen.getstring(40, 10, 13) End If

Como se ve una vez que ya tengo los 13 caracteres lo que hago ahora es que me arroje esos caracteres en la celda que vaya contando con el For y en la columna que le indique, dada esta situación todos los datos me quedan desordenados por lo que quiero ordenarlos y me gustaría que me pudieran apoyar en esa parte, con una función que me alinee todos esos datos respecto a la columna 2.

1 Respuesta

Respuesta

No entendí muy bien lo que necesita, pero con este código alinea a la izquierda, quizá lo pueda adaptar a lo que necesite, este código alinea toda la columna, pero si es el caso puede poner dentro del for la parte de alinear.

    Columns("C:C").Select
    With Selection
        .HorizontalAlignment = xlLeft
    End With

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas