2011-03-12 8 views
20

Así que tengo un pequeño macro/sub definido simple cuando se hace clic en un botón de comando. El problema es que me da:código de vba simple me da error de tiempo de ejecución variable de objeto 91 o con bloque no establecido

tiempo de ejecución error '91': variable de objeto o con el bloque no establecida

Mi código es:

Dim rng As Range 
rng = Sheet8.Range("A12") '<< ERROR here 
rng.Value2 = "1" 

sólo quiero establecer celular "A12" en Sheet8.

enter image description here

Gracias!

+0

Estoy seguro de que hay una 'Hoja8' y ciertamente hay una celda 'A12' en la hoja. Tal vez es la sintaxis? ¿Debería ser "A" y "12" por separado? – gideon

Respuesta

30

lo que necesita Fije con los objetos:

Set rng = Sheet8.Range("A12") 

Sheet8 está muy bien.

Sheet1.[a1] 
+0

+1 gracias ¿no da un error pero tampoco establece el valor de la celda A12? ¿Debería ser 'rng.Value' o' rng.Formula' tampoco? – gideon

+0

¡lol! ok now 'Establecer rng.Value2 =" 1 "' Me da un error de tiempo de ejecución 424 – gideon

+0

@giddy Estoy de vuelta :) Solo usa Set para establecer una variable a un objeto. El código que publicaste funciona bien para mí con la adición de Set, según mi respuesta. ¿Existe Sheet8? No olvides que puedo cambiar el nombre de Sheet3 como Sheet8 pero sigue siendo Sheet3. No confunda el objeto Sheet8 con la hoja llamada Sheet8. – Fionnuala

Cuestiones relacionadas