Next senza for

di il
5 risposte

Next senza for

Buonasera a tutti,
non capisco come mai quando eseguo questo codice mi esce la segnalazione di errore di compilazione next senza for.

For intnr = LBound(tipidisegno()) To UBound(tipidisegno())
MsgBox tipidisegno(intnr)

'Next intnr

If Me.CasellaCombinata353.Value = tipidisegno(intnr) Then
Next intnr
Else
MsgBox "ATTENZIONE - PREMONTAGGIO NON IN ELENCO"
Exit For
End If

Il ciclo che vorrei fare è che se il valore della casellacombinata353 è uguale a tipidisegno va avanti nel ciclo se è diverso esce la segnalazione e esce dal for.
Dov'è l'errore?
Grazie a chi mi aiuterà in anticipo.
Giuseppe

5 Risposte

  • Re: Next senza for

    Diciamo che hai scritto una cosa da non scrivere...

    Hai messo il Next in una condizione e questo è ovviamente errato.
    La verifica che esegui devi metterla tutta interna al Next e, nel caso sia verificata la condizione che ritieni effettui l'Exit For.
  • Re: Next senza for

    Grazie alex per risposta.
    Veramente l'avevo già inserita correttamente solo che non mi funzionava la condizione.

    For intnr = LBound(tipidisegno()) To UBound(tipidisegno())
    MsgBox tipidisegno(intnr)



    If Not Me.CasellaCombinata353.Value = tipidisegno(intnr) Then

    MsgBox "ATTENZIONE - PREMONTAGGIO NON IN ELENCO"
    Exit For
    End If
    Next intnr

    volevo controllare che se il valore era uguale andava avanti nel ciclo se diverso usciva dal ciclo segnalando messaggio.
  • Re: Next senza for

    If Me.CasellaCombinata353.Value <> tipidisegno(intnr) Then
  • Re: Next senza for

    Grazie per risposta,
    pensavo di aver scritto sbagliato invece il mio problema è l'inserimento del tipo di if all'interno del ciclo for.
    Ovvero devo controllare quando il testo della casellacombinata353 non è presente in nessun campo tipodisegno(intnr) e quindi fare msgbox "attenzione premontaggio non in elenco alla fine dopo aver consultato tutti i valori del campo tipodisegno (intnr)
    Se uso la if me.casellacombinata353.value <> tipi disegno(intnr) then.....in alcuni casi trova differenza in altri il campo è uguale e non funziona.
    Spero di essermi spiegato....
    come posso fare?
    Giuseppe
  • Re: Next senza for

    Quindi
    
    Dim pres As Integer
    pres = 0
    
    For intnr = LBound(tipidisegno()) To UBound(tipidisegno())
        If Me.CasellaCombinata353.Value = tipidisegno(intnr) Then pres=1
    Next intnr
    
    If pres=0 Then MsgBox "ATTENZIONE - PREMONTAGGIO NON IN ELENCO"
    
Devi accedere o registrarti per scrivere nel forum
5 risposte