Error 1004 en código Range("A1").Select

01/02/2007 - 18:46 por rgg27 | Informe spam
No entiendo lo que pasa.
Hago una macro que funciona, en la que un valor una celda de la hoja 1
se copia en la hoja 2. El código es:

Sub Macro1()

Selection.Copy
Sheets("Hoja2").Select
Range("A1").Select
ActiveSheet.Paste
End Sub

El problema viene cuando este código lo copio en un botón:

Private Sub CommandButton1_Click()

Selection.Copy
Sheets("Hoja2").Select
Range("A1").Select
ActiveSheet.Paste
End Sub

Entonces me sale un error parándose en
Range("A1").Select.
Y aparece este mensaje:
Error 1004 en tiempo de ejecución. Error en el método Select de la
clase Range

Yo juraría que esto lo he hecho otras veces y me ha funcionado.
¿Dónde puede estar el error?

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
02/02/2007 - 01:49 | Informe spam
hola, ???

No entiendo lo que pasa. Hago una macro que funciona, en la que un valor una celda de la hoja 1 se copia en la hoja 2. El codigo es:
Sub Macro1()
Selection.Copy
Sheets("Hoja2").Select
Range("A1").Select
ActiveSheet.Paste
End Sub
El problema viene cuando este código lo copio en un boton:
Private Sub CommandButton1_Click()
Selection.Copy
Sheets("Hoja2").Select
Range("A1").Select
ActiveSheet.Paste
End Sub
Entonces me sale un error parandose en Range("A1").Select. Y aparece este mensaje:
Error 1004 en tiempo de ejecucion. Error en el metodo Select de la clase Range
Yo jurari que esto lo he hecho otras veces y me ha funcionado. Donde puede estar el error?



[probablemente] en las propiedades del CommandButton1 tienes establecida en True la del 'TakeFocusOnClick'
con lo cual, el control 'retiene' el foco y ya no es posible 'seleccionar' rangos, hojas, otros objetos, etc. etc. etc. -?-

op1: o le quitas dicha propiedad [o la estableces como False] en la ventana de propiedades al boton...
op2: o utilizas la propuesta de William, SIN la 'necesidad' de andar cambiando de selecciones entre hojas, rangos y demas ;)

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#2 rgg27
02/02/2007 - 18:58 | Informe spam
Gracias a todos por las respuestas.

Hector, efectivamente 'TakeFocusOnClick' estaba como True. La he
puesto como False y seguía igual.
Como recordaba haber hecho algo parecido sin problemas, he buscado el
archivo y he visto que era un botón de control con la misma
apariencia, pero que sin código implícito. Es un dibujo igual, al que
se le asigna una macro.
Respuesta Responder a este mensaje
#3 Orfao
12/03/2007 - 08:02 | Informe spam
'despues de
Private Sub CommandButton1_Click()
'colocas
activecell.activate
... el resto del codigo

espero te sirva...

Me alimento del conocimiento de todos


"" wrote:

No entiendo lo que pasa.
Hago una macro que funciona, en la que un valor una celda de la hoja 1
se copia en la hoja 2. El código es:

Sub Macro1()

Selection.Copy
Sheets("Hoja2").Select
Range("A1").Select
ActiveSheet.Paste
End Sub

El problema viene cuando este código lo copio en un botón:

Private Sub CommandButton1_Click()

Selection.Copy
Sheets("Hoja2").Select
Range("A1").Select
ActiveSheet.Paste
End Sub

Entonces me sale un error parándose en
Range("A1").Select.
Y aparece este mensaje:
Error 1004 en tiempo de ejecución. Error en el método Select de la
clase Range

Yo juraría que esto lo he hecho otras veces y me ha funcionado.
¿Dónde puede estar el error?


Respuesta Responder a este mensaje
#4 Héctor Miguel
12/03/2007 - 08:23 | Informe spam
hola, moises !

'despues de
Private Sub CommandButton1_Click()
'colocas
activecell.activate
... el resto del codigo

espero te sirva...



instrucciones del tipo 'ActiveCell.Activate' asignadas a eventos de controles ActiveX incrustados en hojas de calculo...
tienen 'comportamientos' diferentes en versiones diferentes de excel [OJO]
[creo que] lo mas 'barato' es establecer la propiedad 'TakeFocusOnClick' en False
[para asegurar mayor compatibilidad entre versiones] ;)

saludos,
hector.
Respuesta Responder a este mensaje
#5 jacaballero
03/04/2015 - 19:09 | Informe spam
rgg27 escribió el 01/02/2007 18:46 :
No entiendo lo que pasa.
Hago una macro que funciona, en la que un valor una celda de la hoja 1
se copia en la hoja 2. El código es:

Sub Macro1()

Selection.Copy
Sheets("Hoja2").Select
Range("A1").Select
ActiveSheet.Paste
End Sub

El problema viene cuando este código lo copio en un botón:

Private Sub CommandButton1_Click()

Selection.Copy
Sheets("Hoja2").Select
Range("A1").Select
ActiveSheet.Paste
End Sub

Entonces me sale un error parándose en
Range("A1").Select.
Y aparece este mensaje:
Error 1004 en tiempo de ejecución. Error en el método Select de
la
clase Range

Yo juraría que esto lo he hecho otras veces y me ha funcionado.
¿Dónde puede estar el error?


Hola a todos.... Muchas gracias por sus aportes!!!!

Son de mucha ayuda, efectivamente el boton CommandActivex presenta problemas con la referenciación de los libros, ya deshabilite la opción del Focus (False) y no funciono, finalmente toco dejar de ejecutar el programa mediante un boton directo. El programa como un macro independiente o una función si funciona.

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