Copiar/pegar celdas en Excel solo si no están vacías
BillRussell
Mensajes publicados
7
Estado
Miembro
-
ThauTheme Mensajes publicados 1564 Estado Miembro -
ThauTheme Mensajes publicados 1564 Estado Miembro -
Hola a todos,
Pido vuestra ayuda sobre un tema que puede parecer básico, pero no encuentro en el foro el código que necesito.
Mi configuración: Excel 2013
Mi necesidad:
Copiar un rango de celdas de una hoja a otra hoja de resumen, pero copiando únicamente las celdas que tienen valores, es decir, no vacías. Donde se complica es que necesito pegar, por lo que deben pegarse las celdas llenas de la hoja "Option 1" en la hoja "Seguimiento presupuesto" y pegar los valores de la hoja "Option 2" justo en la fila siguiente.
¿Podríais decirme qué es lo que falla en mi código, porque no funciona...
¿Tenéis alguna pista para hacer esto de otra forma?
Os lo agradezco y no dudéis si queréis más información o que adjunte el archivo de prueba
--
El mundo empezó sin el hombre, terminará sin él..
Pido vuestra ayuda sobre un tema que puede parecer básico, pero no encuentro en el foro el código que necesito.
Mi configuración: Excel 2013
Mi necesidad:
Copiar un rango de celdas de una hoja a otra hoja de resumen, pero copiando únicamente las celdas que tienen valores, es decir, no vacías. Donde se complica es que necesito pegar, por lo que deben pegarse las celdas llenas de la hoja "Option 1" en la hoja "Seguimiento presupuesto" y pegar los valores de la hoja "Option 2" justo en la fila siguiente.
Sub Test_2() 'Bucle mientras no esté vacío Do While Not (IsEmpty(ActiveCell)) 'Copiar fila With Sheets("Seguimiento presupuesto") Sheets("Option 1").Range("A7:A26").Copy_ Destination = .Cells(.Cells(655636, 8).End(xlUp).Row + 1, 1) Application.CutCopyMode = False End With Loop End Sub ¿Podríais decirme qué es lo que falla en mi código, porque no funciona...
¿Tenéis alguna pista para hacer esto de otra forma?
Os lo agradezco y no dudéis si queréis más información o que adjunte el archivo de prueba
--
El mundo empezó sin el hombre, terminará sin él..
1 respuesta
-
Hola Bill, hola el foro,
Quizás así:
Sub Test_2() Dim OS As Worksheet 'declara la variable OS (Hoja Fuente) Dim OD As Worksheet 'declara la variable OD (Hoja Destino) Dim CEL As Range 'declara la variable CEL (CÉLULA) Dim DEST As Range 'declara la variable OS (CELA de DESTINO) Set OS = ActiveCell 'define la hoja fuente OS Set OD = Sheets("Suivi Budget") 'define la hoja destino OD For Each CEL In OS.Range("A7:A26") 'itera sobre todas las celdas CEL del rango A7:A26 If CEL <> "" Then 'condición: si la celda no está vacía Set DEST = OD.Cells(Application.Rows.Count, 8).End(xlUp).Offset(1, 0) 'define la celda de destino DEST CEL.Copy DEST 'copie la celda CEL en DEST End If 'fin de la condición Next CEL 'próxima celda de la iteración End Sub
Hasta luego,
ThauTheme