Discussione:
Notazione a parentesi quadre
(troppo vecchio per rispondere)
m***@interfree.it
2015-04-13 07:32:55 UTC
Permalink
Non riesco a trovare spiegazioni.

In VBA ho una macro del tipo

Private Sub esempio()
...
[database]
End Sub

dove "database" è un range (in questo caso B1:E100) a cui è stato dato appunto il nome "database".

C'è un modo equivalente per scriverlo esplicitandolo? Voglio dire una cosa tipo così:

[B1:E100] oppure ["B1:E100"]

Mi da sempre un errore, quale è la forma giusta per scriverlo?

Grazie
Maurizio Borrelli
2015-04-13 07:54:59 UTC
Permalink
Post by m***@interfree.it
Non riesco a trovare spiegazioni.
In VBA ho una macro del tipo
Private Sub esempio()
...
[database]
End Sub
dove "database" è un range (in questo caso B1:E100) a cui è stato dato appunto il nome "database".
[B1:E100] oppure ["B1:E100"]
Mi da sempre un errore, quale è la forma giusta per scriverlo?
Ciao mani...,
il modo giusto e' il primo:
[B1:E100]
ma se ti da' errore... A proposito, che errore ti da'? Questo?
Errore di run-time '424':
Necessario oggetto
allora in questo caso vuol dire che il foglio attivo non e' un "Foglio di lavoro" (Worksheet). Potrebbe essere un "Grafico" (Chart)?

Comunque non e' una scelta felice quella di riferirsi a un intervallo senza specificare l'oggetto cui appartiene perché cosi' ti riferisci all'intervallo del foglio attivo, ammesso che il foglio attivo possegga intervalli: il foglio grafico non li ha, per esempio.

Potresti esplicitare l'oggetto cui l'intervallo appartiene, per esempio cosi':
['Foglio 1'!A1:C3]
Oppure accertarti preventivamente che il foglio attivo sia quello giusto. Per esempio cosi':
[Foglio1].Activate
Nota che in questi esempi ho usato un Foglio di lavoro di nome "Foglio 1" (nota lo spazio) il cui Modulo Visual Basic si chiama pero' "Foglio1", anche perché non e' possibile assegnare nomi con spazi agli oggetti. Cosi' nel primo caso e' stato usato l'indirizzo esteso dell'intervallo (Nome foglio + Indirizzo) nel secondo il nome dell'oggetto del progetto VBA (Nome modulo).

Tuttavia ritengo che usare gli oggetti invece dei nomi sia meglio...
--
Ciao! :)
Maurizio
Continua a leggere su narkive:
Loading...