¿Por qué no puedo definir un libro de trabajo de cualquiera de estas formas? (Tengo el rango de bits para una prueba rápida). ¿Cómo lo soluciono?¿Por qué no puedo definir mi libro de trabajo como un objeto?
Esto produce un "Compile Error: Type Mismatch"
Sub Setwbk()
Dim wbk As Workbook
Set wbk = "F:\Quarterly Reports\2012 Reports\New Reports\ _
Master Benchmark Data Sheet.xlsx"
Range("A2") = wbk.Name
End Sub
Y esto crea un "Runtime Error '91': Object variable or with block variable not set"
Sub Setwbk()
Dim wbk As Workbook
wbk = "F:\Quarterly Reports\2012 Reports\New Reports\ _
Master Benchmark Data Sheet.xlsx"
Range("A2") = wbk.Name
End Sub
Qué me estoy perdiendo aquí? He estado trabajando duro en VBA durante un mes, me he vuelto bastante sofisticado, pero esto me ha dejado perplejo. Me estoy perdiendo algo elemental.
¡Solo quiero definir un libro de trabajo para que no tenga que escribirlo todo!
y @Gaffi tiene el resto, y la parte más pertinente, de la respuesta. –
Ya veo. Tengo que abrirlo. Dejé fuera el bit de "libros de trabajo". También necesito "configurarlo". ¿Por qué tengo que "configurarlo"? (Supongo que debería preguntar ¿por qué también tengo que "establecer" un rango?) Solo trato de entender el idioma. ¿Es porque son objetos en oposición a las propiedades de los objetos? ¡Muchas gracias! –
@ user1408660 'Set 'es la forma en que VBA asigna las variables * object *. Como un 'Range' y un' Workbook'/'Worksheet' son * objects *, debe usar' Set' con estos. En otras palabras, tu suposición es correcta. – Gaffi