Distribuir celdas de columnas en excel

Necesito distribuir 7000 celdas de una columna en 40 celdas por columna alguna macro para eso y después buscar sus coincidencias de 2 cifras

2 respuestas

Respuesta
2

Te dejo la macro para la primer parte de la consulta. Por favor para el otro tema, buscar coincidencias deberás iniciar otra consulta dejando el título que corresponda y las aclaraciones del caso.

Para 'distribuir celdas de columnas' debes entrar al Editor de macros (con teclas Alt y F11), insertar un módulo y allí copiar la macro adjunta.

Luego podrás ejecutarla desde el mismo Editor, o desde la hoja menú Programador, macro. Otras opciones las tengo explicadas en la sección Macros de mi sitio.

Sub separa_en_Col()
'x Elsamatilde
'se asume 1er celda en A1.
filx = 1
'se asume 1er columna destino la C, es decir 3 y también en fila 1
colx = 3
'El resto se irá colocando en columnas contiguas
'se toman 40 celdas pasándolas a las col
While filx <= 7000
    Range("A" & filx & ":A" & filx + 39).Copy Destination:=Cells(1, colx)
    colx = colx + 1
    filx = filx + 40
Wend
MsgBox "Fin del proceso de separar en columnas."
'opcional: borrar la col 1
Range("A:A").ClearContents
End Sub

Como no has indicado dónde se encuentra tu col de datos asumí que será en A1 y el resto se coloca a partir de C1, D1, E1 y así hasta el final.

El código va explicado por lo que no tendrás inconveniente en ajustar estos detalles.

Sdos y si esta consulta queda resuelta no olvides valorarla para continuar con la siguiente que esperaré aparezca en el tablón con las aclaraciones.

Respuesta
1

.14/11/16

Buenas, Jhon

Acabo de enviarte un mail a tu cuenta.

Eventualmente, puedes enviarme tu archivo a la dirección que conoces.

Saludos

Fernando

.

.

Buenas,

En aquel archivo fue una nueva rutina, donde podrás indicarle desde donde tomar los números y en dónde dejarlos, además de indicarle de cuantos elementos debe ser cada uno de ellos.

Copio aquí por si pudiera servirle a alguien más.

Sub ArmaGrup()
'---- Variables modificables:
'=== JHON, modifica estos datos de acuerdo a tu planilla:
IniCol = "A2" 'celda inicial donde están los números a distribuir
IniDes = "D1" ' primera celde donde iniciar los grupos
Gruposde = 40 ' cantidad de elementos de cada grupo
'---- fin Variables
'
'---- inicio de rutina:
'  
UltFila = Range(IniCol).End(xlDown).Row
Do While Range(IniCol).Offset(LaFila).Row <= UltFila
    Range(Range(IniCol). Offset(LaFila), Range(IniCol).Offset(LaFila + Gruposde - 1)). Copy Range(IniDes). Offset(0, LaColumna)
    LaFila = LaFila + Gruposde
    LaColumna = LaColumna + 1
Loop
MsgBox "Fueron distribuidos " & UltFila - Range(IniCol).Row + 1 & " números en " & LaColumna & " columnas"
End Sub

Saludos

Fernando

.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas