Copiar celdas a otras si no están vacías

Encontré aquí este modelo para Copiar celda a otra celda solo si esta esta vacía
Sub CopiaPega()
If Range("A4") = "" Then Range("A4") = Range("A2")
End Sub
Lo que yo necesito es hacer lo mismo, pero con un rango de celda:
If Range("A4:A44") <>"" Then Range("B4:B44") = Range("C4:c44")
Excel me marca error.
Ojalá pudieran ayudarme.
Respuesta
2
El inconveniente es que intenta tratar un rango como si fuera una celda. Excel no tiene la capacidad para hacer eso directamente, habría en ese caso que analizar cada una de las celdas del rango ("A4:A44") para ver si tienen contenido <>"" (porque veo que le estas diciendo diferente de vacío) y en caso de que todas estén vacías entonces si copia los rangos Range("B4:B44") = Range("C4:C44")
El código que le sugiero es el siguiente:
Sub CopiarRangoSiVacio()
    For Each CELDA In Range("A4:A44")
        If CELDA <> "" Then CONTADOR = CONTADOR + 1
    Next
    If CONTADOR = 0 Then [C4:C44].Copy Destination:=[B4:B44]
End Sub
Un saludo y muchos éxitos!
Como crear un botón y asociarlo a un macro, haz clic aquí...
http://img47.xooimage.com/views/7/6/7/crear-un-bot-n-as...-a-macro-1e8cdd7.pdf/
Estimado:
Mucha gracias por la premura y calidad de la respuesta, la verdad es que me estaba volviendo loco tratando de generar dicho código.
Te reitero mi agradecimientos. Muchos saludos,
edu

1 respuesta más de otro experto

Respuesta

Tengo la misma consulta que Edu.

Tengo un conjunto de datos del rango C12:C183 y quiero copiarla a E12:E183, pero dentro de este último rango tengo celdas con información. Lo único que quiero es copiar celdas del rango C12:C183 al rango E12:183 a las celdas que están vacías sin modificar las que tienen datos. Probé con la macros que realizaste pero no me arroja resultados.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas