Cortar y pegar valores con VB

17/03/2005 - 00:49 por MarianoH | Informe spam
Quiero hacer una macro para copiar los valores de un rango y pegarlos
posteriormente en otro, borrándolos del rango original.
Para ello pobe con una variable Static para guardar el rango y otra Boolean
para saber y tengo datos copiados.
Cuando ejecuto el código paso a paso, funciona pero al correr el código
desde una Macro da error en la linea indicada.

Sub CortarValores()
Static R1 As Range
Static EnProceso As Boolean

If EnProceso = False Then
Set R1 = Selection
Selection.Copy
EnProceso = True
Else
'Esta línea da error cuando se ejecuta la macro.
'pero en el paso a paso funciona bien
Selection.PasteSpecial xlValues
EnProceso = False
R1.ClearContents
Set R1 = Nothing
End If
End Sub

Cualquier ayuda es agradecida.
Saludos.

Preguntas similare

Leer las respuestas

#1 KL
17/03/2005 - 01:13 | Informe spam
Hola Mariano,

El problema es tan tonto como molesto. Lo q ocurre es q seguramente estando
en la hoja haces pruebas usando la ventana Macros (via menu o Alt+F8). Pues
esta operacion es precisamente la culpable del problema, ya q al llamar
cualquier dialogo se pone Application.CutCopyMode=False, es decir se limpia
el Clipboard. Obviamente, esto no ocurre si lanzas el macro desde el VBE o
si lo asignas a un boton, evento o lo llamas desde otro procedimiento
estando en la hoja de calculo.

Saludos,
KL
Respuesta Responder a este mensaje
#2 MarianoH
19/03/2005 - 00:39 | Informe spam
Bien. Esa es la respuesta a mi problema.
Igualmente si a alguien se le ocurre otra solución estaría agradecido.

Lo que quiero hacer hacer es cortar los datos de un rango y pegar estos
valores en otro sin tocar los formatos del origen ni del destino. Todo con
una macro que es pueda acceder desde el teclado.

Gracias y saludos.

"KL" wrote:

Hola Mariano,

El problema es tan tonto como molesto. Lo q ocurre es q seguramente estando
en la hoja haces pruebas usando la ventana Macros (via menu o Alt+F8). Pues
esta operacion es precisamente la culpable del problema, ya q al llamar
cualquier dialogo se pone Application.CutCopyMode=False, es decir se limpia
el Clipboard. Obviamente, esto no ocurre si lanzas el macro desde el VBE o
si lo asignas a un boton, evento o lo llamas desde otro procedimiento
estando en la hoja de calculo.

Saludos,
KL



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida