VBA de Excel: reproducir un formato
Resueltoyg_be Mensajes publicados 23437 Fecha de registro Estado Colaborador Última intervención -
Hola,
Deseo reproducir el formato de una zona de celdas Origen hacia otra zona de celdas Destino con el siguiente fragmento de código:
Sub Reproduire_MiseEnForme()
Dim NJ, Origine, Destination As Range
Set NJ = ActiveCell
Set Origine = NJ.Offset(-1, 0) : NJ.Offset(-1, 8)
Origine.Copy
Set Destination = NJ : NJ.Offset(10,8)
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
End Sub
La línea Set Origine da error: seguramente he escrito mal el rango de origen a copiar?
Probablemente lo mismo para la línea Set Destination ...
2 respuestas
-
yg_be Mensajes publicados 23437 Fecha de registro Estado Colaborador Última intervención Embajador 1 588
hola,
sin embargo ya has usado la función range(), ¿la has olvidado?
Set Origine = range ( NJ.Offset(-1, 0) , NJ.Offset(-1, 8) )
-
Hola,
Parece que tienes algunos errores en tu código en la definición de los rangos de origen y destino. Aquí tienes una versión corregida de tu código:Sub Reproduir_MiseEnForme()
Dim NJ As Range, Origine As Range, Destination As Range
'Definición de la celda activa como punto de partida
Set NJ = ActiveCell
'Definición del rango de origen (una celda arriba y 8 columnas a la derecha de NJ)
Set Origine = NJ.Offset(-1, 0).Resize(1, 8)
'Copiar el formato del rango de origen
Origine.Copy
'Definición del rango de destino (celda activa y 10 filas hacia abajo y 8 columnas a la derecha de NJ)
Set Destination = NJ.Offset(10, 8)
'Pegado especial del formato en el rango de destino
Destination.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
'Desactivación del modo de copia
Application.CutCopyMode = False
End Sub
Así.