Perché non è possibile definire una cartella di lavoro in questi modi? (Ho la gamma di bit in là solo per un test rapido.) Come posso risolvere il problema?Perché non posso definire la mia cartella di lavoro come un oggetto?
Questo 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
E questo 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
Che cosa mi manca qui? Sto martellando da VBA per un mese, sono diventato piuttosto sofisticato, ma questo mi ha lasciato perplesso. Mi manca qualcosa di elementare.
Voglio solo definire una cartella di lavoro in modo da non dover digitare tutto!
e @Gaffi ha il resto, e la parte più pertinente, della risposta. –
Capisco. Devo aprirlo. Ho omesso il "workbook" bit. Devo anche "impostarlo". Perché devo "impostarlo"? (Credo che dovrei chiedere perché devo anche "impostare" un intervallo?) Sto solo cercando di capire la lingua. È perché sono oggetti in contrapposizione alle proprietà degli oggetti? Grazie mille! –
@ user1408660 'Set' è il modo in cui VBA assegna * oggetto * variabili. Dato che un 'Range' e un' Workbook'/'Worksheet' sono * objects *, devi usare' Set' con questi. In altre parole, la tua ipotesi è corretta! – Gaffi