Condividi tramite

ERRORE DI RUN-TIME 9 INDICE NON INCLUSO NELL'INTERVALLO

Anonimo
2023-06-21T16:47:51+00:00

Buongiorno a tutti,

ho trovato questo codice visitando alcuni siti su internet, ma mi da l'errore in oggetto quando lancio il form, potere cortesemente dirmi come posso risolvere il problema.

Private Sub UserForm_Initialize()

Dim vArr As Variant 

Dim iI As Integer 

vArr = ShDB.Range("A3:A36").Value 

With cboNominativoDR 

     For iI = LBound(vArr) To UBound(vArr) 

        .AddItem vArr(iI) 

     Next iI 

End With 

end sub

Grazie per l'aiuto.

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

  1. Anonimo
    2023-06-21T21:55:58+00:00

    Ciao Danilo,

    Grazie Norman per la cortese attenzione, ho però una domanda se possibile, perché è necessario inserire "1".

    Un array creato da un intervallo avrà sempre 2 dimensioni. Nel caso di un intervallo di colonna singola, la seconda dimensione sarà 1; un intervallo di due colonne creerà un array la cui seconda dimensione sarà 2. Più in generale, la seconda dimensione sarà n, dove n è uguale al numero di colonne nell'intervallo di origine.

    Quindi, per referenziare un elemento di tale array è necessario fornire il valore richiesto per entrambe le dimensioni.

    Se dovessi aver bisogno di ulteriori precisazioni, chiedi pure.

    ===

    Regards,

    Norman

    Immagine

    La risposta è stata utile?

    0 commenti Nessun commento

Risposta accettata dall'autore della domanda

  1. Anonimo
    2023-06-21T17:00:56+00:00

    Ciao Danilo,

    Private Sub UserForm_Initialize()

    Dim vArr As Variant

    Dim iI As Integer

    vArr = ShDB.Range("A3:A36").Value

    With cboNominativoDR

    For iI = LBound(vArr) To UBound(vArr)

    .AddItem vArr(iI)

    Next iI

    End With

    end sub

    In alternativa, sostituisci il tuo codice con:

    '========>>

    Option Explicit

    '-------->>

    Private Sub UserForm_Initialize()

    Dim vArr As Variant 
    
    vArr = ShDB.Range("A3:A36").Value 
    
    Me.cboNominativoDR.List = vArr 
    

    End Sub

    '<<========

    ===

    Regards,

    Norman

    Immagine

    La risposta è stata utile?

    0 commenti Nessun commento

2 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2023-06-21T18:58:02+00:00

    Grazie Norman per la cortese attenzione, ho però una domanda se possibile, perché è necessario inserire "1".

    Cordiali saluti.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2023-06-21T16:53:10+00:00

    Ciao Danilo,

    Buongiorno a tutti,

    ho trovato questo codice visitando alcuni siti su internet, ma mi da l'errore in oggetto quando lancio il form, potere cortesemente dirmi come posso risolvere il problema.

    Private Sub UserForm_Initialize()

    Dim vArr As Variant

    Dim iI As Integer

    vArr = ShDB.Range("A3:A36").Value

    With cboNominativoDR

    For iI = LBound(vArr) To UBound(vArr)

    .AddItem vArr(iI)

    Next iI

    End With

    end sub

    Sostituisci:

    .AddItem vArr(iI)

    con:

    .AddItem vArr(iI**,1**)

    ===

    Regards,

    Norman

    Immagine

    La risposta è stata utile?

    0 commenti Nessun commento