Discussione:
Aprire form
(troppo vecchio per rispondere)
palgianni
2008-07-30 10:48:01 UTC
Permalink
Ciao a tutti
ho inserito in un foglio di excel un pulsante per aprire un form, ho
associato a questo pulsante il seguente codice per aprire il form " Box "

Private Sub ApriBox_Click()
Box.Show
End Sub

Ma mi dà il seguente errore
Errore di run-time ‘9’
Indice non incluso nell’intervallo

e mi evidenzia la seguente riga
BoxMatteotti.Show

Come mai mi dà questo errore?
Grazie e buona giornata
Gianni
Maurizio Borrelli
2008-07-30 10:54:51 UTC
Permalink
Post by palgianni
ho inserito in un foglio di excel un pulsante per aprire un form, ho
associato a questo pulsante il seguente codice per aprire il form " Box "
Private Sub ApriBox_Click()
Box.Show
End Sub
Ma mi dà il seguente errore
Errore di run-time ‘9’
Indice non incluso nell’intervallo
e mi evidenzia la seguente riga
BoxMatteotti.Show
Come mai mi dà questo errore?
Ciao Gianni.

Dove si trova questa riga? Potrebbe essere che sia nel Modulo di classe
dell`oggetto UserForm di nome Box?

--
Ciao!
Maurizio Borrelli [Microsoft MVP Office System]
http://www.riolab.org/
Norman Jones
2008-07-30 11:09:00 UTC
Permalink
Ciao Palgianni, Ciao Maurizio,

=============
[..]
Post by palgianni
Ma mi dà il seguente errore
Errore di run-time ‘9’
Indice non incluso nell’intervallo
Dove si trova questa riga? Potrebbe essere che sia nel Modulo di classe
dell`oggetto UserForm di nome Box?
=============

In tale caso, non prevederei l'errore
incontrato da Palgianni.



---
Regards,
Norman
Maurizio Borrelli
2008-07-30 11:35:49 UTC
Permalink
Post by Norman Jones
=============
[..]
Post by palgianni
Ma mi dà il seguente errore
Errore di run-time ‘9’
Indice non incluso nell’intervallo
Dove si trova questa riga? Potrebbe essere che sia nel Modulo di classe
dell`oggetto UserForm di nome Box?
=============
In tale caso, non prevederei l'errore
incontrato da Palgianni.
Capisco che quotare non e` il tuo forte ;-) ma almeno potresti
accoppiare le mie frasi con quelle alle quali si riferiscono:

Palgianni:
mi evidenzia la seguente riga
BoxMatteotti.Show

Maurizio:
Dove si trova questa riga? Potrebbe essere che sia nel Modulo di classe
dell`oggetto UserForm di nome Box?

Quanto al numero dell`errore... tutto puo` essere, vista la mancanza di
informazioni utili.

Situazione:

NON esiste nessun oggetto di nome "BoxMatteotti" e il codice *somiglia*
a questo:

' Modulo1 - Modulo standard
'
' Option Explicit

Private Sub ApriBox_Click()
Box.Show
End Sub

' Box - Modulo di classe dell`oggetto Box (UserForm)
'
'Option Explicit

Private Sub UserForm_Initialize()
BoxMatteotti.Show
End Sub

All`esecuzione di "ApriBox_Click" l`esecuzione si ferma *appunto*
all`istruzione:

BoxMatteotti.Show

con messaggio:

[Microsoft Visual Basic]
Errore di run-time '424':
Necessario oggetto
[ Fine ] [ Debug ] [ ? ]

Ergo: Palgianni, sei sicuro che il messaggio e` quello che ci hai
riferito? sei sicuro che la riga alla quale si interrompe l`esecuzione
e` quella che ci hai riferito? che altre istruzioni vengono eseguite di
cui non siamo a conoscenza?

(Uff!)

--
Ciao!
Maurizio Borrelli [Microsoft MVP Office System]
http://www.riolab.org/
Norman Jones
2008-07-30 11:51:10 UTC
Permalink
--
=============
Post by Norman Jones
=============
[..]
Post by palgianni
Ma mi dà il seguente errore
Errore di run-time ‘9’
Indice non incluso nell’intervallo
Dove si trova questa riga? Potrebbe essere che sia nel Modulo di classe
dell`oggetto UserForm di nome Box?
=============
In tale caso, non prevederei l'errore
incontrato da Palgianni.
Capisco che quotare non e` il tuo forte ;-) ma almeno potresti
accoppiare le mie frasi con quelle alle quali si riferiscono:
=============

Beniisimo, Maurizio, quotero', in pieno,
sia tu sia Palgianni - ma, purtroppo, non
cambiera' la mia risposta!


=============
Palgianni:

ho inserito in un foglio di excel un pulsante per aprire un form, ho
associato a questo pulsante il seguente codice per aprire il form " Box "

Private Sub ApriBox_Click()
Box.Show
End Sub

Ma mi dà il seguente errore
Errore di run-time ‘9’
Indice non incluso nell’intervallo

e mi evidenzia la seguente riga
BoxMatteotti.Show

Come mai mi dà questo errore?
Grazie e buona giornata

Maurizio:

Dove si trova questa riga? Potrebbe essere che sia nel Modulo di classe
dell`oggetto UserForm di nome Box?

=============

In tale caso, non prevederei l'errore
incontrato da Palgianni.



---
Regards,
Norman
palgianni
2008-07-30 12:23:05 UTC
Permalink
Post by Maurizio Borrelli
Post by Norman Jones
=============
[..]
Post by palgianni
Ma mi dà il seguente errore
Errore di run-time ‘9’
Indice non incluso nell’intervallo
Dove si trova questa riga? Potrebbe essere che sia nel Modulo di classe
dell`oggetto UserForm di nome Box?
=============
In tale caso, non prevederei l'errore
incontrato da Palgianni.
Capisco che quotare non e` il tuo forte ;-) ma almeno potresti
mi evidenzia la seguente riga
BoxMatteotti.Show
Dove si trova questa riga? Potrebbe essere che sia nel Modulo di classe
dell`oggetto UserForm di nome Box?
Quanto al numero dell`errore... tutto puo` essere, vista la mancanza di
informazioni utili.
NON esiste nessun oggetto di nome "BoxMatteotti" e il codice *somiglia*
' Modulo1 - Modulo standard
'
' Option Explicit
Private Sub ApriBox_Click()
Box.Show
End Sub
' Box - Modulo di classe dell`oggetto Box (UserForm)
'
'Option Explicit
Private Sub UserForm_Initialize()
BoxMatteotti.Show
End Sub
All`esecuzione di "ApriBox_Click" l`esecuzione si ferma *appunto*
BoxMatteotti.Show
[Microsoft Visual Basic]
Necessario oggetto
[ Fine ] [ Debug ] [ ? ]
Ergo: Palgianni, sei sicuro che il messaggio e` quello che ci hai
riferito? sei sicuro che la riga alla quale si interrompe l`esecuzione
e` quella che ci hai riferito? che altre istruzioni vengono eseguite di
cui non siamo a conoscenza?
(Uff!)
Ciao Maurizio.
Mi scuso se non sono stato chiaro, riprovo…
Ho fatto una cartella e ho inserito un form “ Condominio “ con varie textBox
e ComboBox e un Calendar 1
Con i seguenti pulsanti -
Registra Dato - Modifica Dato - Cancella Dato - Salva e Esci.

Nel foglio – Condominio - ho inserito un pulsante che mi apre il form
“Condominio”
Il tutto mi funziona.

Ho fatto un altro form “ BoxMatteotti” esattamente uguale al form “Condominio”
( ho inserito un form e copiato/incollato tutti i pulsanti e textBox e
ComboBox e un Calendar 1)

Nel foglio Box Matteotti ho inserito un nuovo pulsante per aprire il form “
BoxMatteotti “ e quando clicco sul pulsante per aprire il form
và in errore e confermo il tipo di errore che mi dà

Errore di run-time ‘9’
Indice non incluso nell’intervallo

e mi evidenzia la seguente riga
BoxMatteotti.Show

Il Codice si trova nel modulo del foglio “Box Matteotti”

Grazie e ciao
Gianni
Norman Jones
2008-07-30 13:40:03 UTC
Permalink
Ciao Palgianni

Ho ricevuto il tuo file e ho individuato tre
problemi:

(1) Nella tua routine UserForm_Initialize, utilizzi
l'istruzione:

Set SH = WB.Sheets("Box")

mentre il tuo foglio interessato e' nominato
Box (con uno spazio finale!)

Ho rinominato il foglio, togliando lo spazio.

(2) Nella tua routine UserForm_Initialize, utilizzi
delle istruzioni del genere:

==============
.AddItem "1999/2000"
.AddItem "2000/2001"
.AddItem "2001/2002"
.AddItem "2002/2003"
.AddItem "2003/2004"
.AddItem "2004/2005"
.AddItem "2005/2006"
.AddItem "2006/2007"
.AddItem "2007/2008"
.AddItem "2008/2009"
.AddItem "2009/2010"
.AddItem "2010/2011"
.AddItem "2011/2012"
.AddItem "2012/2013"
==============

per caricare la ComboBox1.

Queste danno un errore (Run-Time 70),
perche' hai anche utilizzato. a mano, la
proprieta' RowSource:

RowSource ==-> A3:B100

Ho risolto, inserendo l'istruzione:

.RowSource = vbNullString

alla testa della routine

(3) Ho spostato la Statement:

Option Explicit

alla testa del modulo e prima di qualsiasi
altro codice.

Ora, il tuo codice funzione.

Ti ho mandato la versione aggiornata del
tuo workbook.




---
Regards,
Norman
Norman Jones
2008-07-30 15:10:02 UTC
Permalink
Ciao Palgiani,

Avrei voluto aggiungere una
spiegazione del modo di individuare
il tuo problema.

In un modulo standard, tipicamente,
in caso di errore, la riga incriminata
sara' evidenziata e vedrai un
messagio di errore.

Comunque, nel caso della routine
Userform_Initialize, in caso di
errore, la riga incriminata non sara',
necessariamente, evidenziata -
come nel tuo caso.

Quindi, trattandosi della routine
Userform_Initialize, credo che il
modo piu' adatto di investigare il
problema sia di avviare il codice
della routine, una riga alla volta,
utilizzando il tasto F8. In tal modo,
il codice si fermera' sulla riga
incriminata - nel tuo caso sarebbe
la riga:

Set SH = ThisWorkbook.Sheets("Box")

Inoltre, avviando il codice (tramite
F8) dal modulo della Userform, la
rigaincriminata sara; evidenziata -
tipicamente in giallo.



---
Regards,
Norman
palgianni
2008-07-30 20:45:01 UTC
Permalink
Post by Norman Jones
Ciao Palgiani,
Avrei voluto aggiungere una
spiegazione del modo di individuare
il tuo problema.
In un modulo standard, tipicamente,
in caso di errore, la riga incriminata
sara' evidenziata e vedrai un
messagio di errore.
Comunque, nel caso della routine
Userform_Initialize, in caso di
errore, la riga incriminata non sara',
necessariamente, evidenziata -
come nel tuo caso.
Quindi, trattandosi della routine
Userform_Initialize, credo che il
modo piu' adatto di investigare il
problema sia di avviare il codice
della routine, una riga alla volta,
utilizzando il tasto F8. In tal modo,
il codice si fermera' sulla riga
incriminata - nel tuo caso sarebbe
Set SH = ThisWorkbook.Sheets("Box")
Inoltre, avviando il codice (tramite
F8) dal modulo della Userform, la
rigaincriminata sara; evidenziata -
tipicamente in giallo.
---
Regards,
Norman
Ciao Norman
Scusa per il ritardo con cui ti rispondo * mi sono dovuto assentare *.
Ho ricevuto il file da te corretto e ti ringrazio.
Grazie per la spiegazione che mi hai dato.
Buona notte
Gianni

Norman Jones
2008-07-30 16:06:01 UTC
Permalink
Ciao Palgianni,

=============
Ora, il tuo codice funzione.

Ti ho mandato la versione aggiornata del
tuo workbook.
=============

Hai ricevuto il workbook aggiornato?

Se la mia spiegazione non sia stata chiara
o tu abbia bisogno di ulteriori delucidazioni,
chiedi pure.




---
Regards,
Norman
Norman Jones
2008-07-30 11:03:01 UTC
Permalink
Ciao Palgianni,

=============
ho inserito in un foglio di excel un pulsante per aprire un form, ho
associato a questo pulsante il seguente codice per aprire il form " Box "

Private Sub ApriBox_Click()
Box.Show
End Sub

Ma mi dà il seguente errore
Errore di run-time ‘9’
Indice non incluso nell’intervallo

e mi evidenzia la seguente riga
BoxMatteotti.Show

Come mai mi dà questo errore?
=============

Il tuo errore suggerirebbe che non
ci sia stato trovato una Userform
nominato Box.

A me, inserendo una Userform e
nominandola Box, il codice funziona,
come anticipato.

Quindi, controlla l'ortografia del nome
della Userform per un errore sottile -
forse c'e' uno spazio ad inizio o alla
fine del nome.



---
Regards,
Norman
palgianni
2008-07-30 11:21:01 UTC
Permalink
Post by Norman Jones
Ciao Palgianni,
=============
ho inserito in un foglio di excel un pulsante per aprire un form, ho
associato a questo pulsante il seguente codice per aprire il form " Box "
Private Sub ApriBox_Click()
Box.Show
End Sub
Ma mi dà il seguente errore
Errore di run-time ‘9’
Indice non incluso nell’intervallo
e mi evidenzia la seguente riga
BoxMatteotti.Show
Come mai mi dà questo errore?
=============
Il tuo errore suggerirebbe che non
ci sia stato trovato una Userform
nominato Box.
A me, inserendo una Userform e
nominandola Box, il codice funziona,
come anticipato.
Quindi, controlla l'ortografia del nome
della Userform per un errore sottile -
forse c'e' uno spazio ad inizio o alla
fine del nome.
Regards,
Norman
Grazie Maurizio e Norman per la risposta

Ho provato a inserire un nuovo form nello stesso progetto i " frmBox" mi si
apre regolarmente.
Forse dico forse può essere l'errore sia dovuto perchè ho copiato questo
form con un'altro nello stesso progetto " frmCondominio " con la stessa
struttura cambiando dove era necessario i riferimenti del foglio?
grazie
Gianni
Norman Jones
2008-07-30 12:04:01 UTC
Permalink
Ciao Palgianni,

=============
Ho provato a inserire un nuovo form nello stesso progetto i " frmBox" mi si
apre regolarmente.
Forse dico forse può essere l'errore sia dovuto perchè ho copiato questo
form con un'altro nello stesso progetto " frmCondominio " con la stessa
struttura cambiando dove era necessario i riferimenti del foglio?
=============

Non ho capito le tue frasi progetto
Post by palgianni
i " frmBox"
e
Post by palgianni
progetto " frmCondominio "
in quanto, normalmente, il prefisso frm
individuerebbe una Userrform, e il termine
'progetto' (nel contesto del VBA) si
riferirebbe al workbook e il suo codice.

Tuttavia, icome indicato, il tuo errore
suggerirebbe che Una Userform nominato
Box' non esiste o, per lo menon, non sia
stato trovato.

E' possibile che la userform sia nominata
frmBox?

===========================

Se hai ancora un problema, potrei mandarti il
mio file di prova, in risposta ad una e-mail:

***@NOSPAMbtconnectDOTcom

(Cancella "NOSPAM" e sostituisci "DOT" con un punto)



---
Regards,
Norman
r
2008-07-30 12:31:01 UTC
Permalink
Post by palgianni
Ciao a tutti
ho inserito in un foglio di excel un pulsante per aprire un form, ho
associato a questo pulsante il seguente codice per aprire il form " Box "
Private Sub ApriBox_Click()
Box.Show
End Sub
Ma mi dà il seguente errore
Errore di run-time ‘9’
Indice non incluso nell’intervallo
e mi evidenzia la seguente riga
BoxMatteotti.Show
Come mai mi dà questo errore?
Grazie e buona giornata
Gianni
potrei suggerirti di anteporre:
vbaproject.
vedresti tutti i moduli e le form
presenti nel tuo progetto ...

a volte essere espliciti ha i suoi
vantaggi :-)
ciao
r
Loading...