Inicio > Microsoft Excel > jferg > copiar celdas a otra hoja y pegar en columna

copiar celdas a otra hoja y pegar en columna

Experto:
Usuario:
Fecha: 31/03/2009
Valoración: (5,00 sobre 5) Categoría: Microsoft Excel
20/03/2009
janoguerra, usuario preguntando en Microsoft Excel
Usuario
Hola experto,
Necesito que me ayuden en una macro que concatene separadas por una coma el valor de la celda C2 con todas las celdas de la columna A y copie los datos en la hoja 2 en la celda A1, luego vuelva a concatenar la celda C3  con todos los datos de la columna A (en la hoja1) y los copie en la hoja 2 a continuacion de los datos ya copiados en la columna A y asi sucesivamente hasta que se terminen los datos de la columna C.



aca esta la forma en quedan las celdas copiadas en la hoja 2,

 gracias por su tiempo.
Saludos.
20/03/2009
janoguerra, experto respondiendo en Microsoft Excel
Experto
Algo asi:
 
For Fila=Inicio to Fin
Concatendo=worksheets("Entrada").cells(Fila,"A") & "," & worksheets("Entrada").cells(Fila,"C")
worksheets("Salida").cells(Fila,"A")=Concatenado
 
Next Fila
22/03/2009
janoguerra, usuario preguntando en Microsoft Excel
Usuario
claro , la idea es que se concatene el valor de todas las celdas de la columna "A" con la celda "C1", una vez que llegue hasta la ultima celda que contenga algun dato de la columna "A" vuelva a concatenar la columna "A" con la siguente celda de la columna "C" y asi sucesivamente hasta que se teminen los datos de la columna C.
EJ:
A1,C1
A2,C1
A3,C1
A1,C2
A2,C2
A3,C2
A1,C3
A2,C3
A3,C3
ahora el resultado puede quedar dentro de la misma hoja o copiarla a la hoja 2.
Espero que se entienda ,  muchas gracias.
26/03/2009
janoguerra, experto respondiendo en Microsoft Excel
Experto
Es lo mismo pero con un ciclo do while (para que funcione no debe haber filas vacias intermedias:
 
Agregar = 0
FilaA = 1
Do While Not IsEmpty(Worksheets("Entrada").Cells(FilaA, "A"))
    A = Worksheets("Entrada").Cells(FilaA, "A")
    FilaC = 1
    Do While Not IsEmpty(Worksheets("Entrada").Cells(FilaC, "C"))
        C = Worksheets("Entrada").Cells(FilaA, "C")
        Agregar = Agregar + 1
        Worksheets("Salida").Cells(Agregar, "A") = A & "," & C
         FilaC = FilaC + 1
    Loop
    FilaA = FilaA + 1
Loop
31/03/2009
janoguerra, usuario preguntando en Microsoft Excel
Usuario
Gracias voy a probar el codigo.
Enlaces patrocinados