Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di luisa227
    Registrato dal
    Mar 2002
    Messaggi
    2,305

    [vb - vba] uscire da un ciclo for tramite pulsante form

    Ho un'areanomi contenete pippo, pluto, topo, gigio, trilly.
    Ho il seguente codice (in un modulo) che mi mostra tot form in base ai nomi e quindi passa ad eseguire il codice applicato al form [Public Sub UserForm_initialize()].
    Per primo mi mostra pippo, poi quando chiudo il form tramite la x mi compare l'altro form inerente a pluto e così via.

    codice:
    Public Sub NC()
    
    ....
    For Each nome In areanomi
    FRnomi.Label7.Caption = nome
      FRnomi.Label8.Caption = nome.row
    Frnomi.Show
    
    Next
    end sub
    Io però voglio, magari tramite un pulsante nel form che, se premuto, mi esca da questo ciclo for.
    Quindi a d esempio se dopo topo non voglio che mi compaiano gli altri 2 form di gigio e trilly premo questo pulsante.


    Ho provato il codice sottostante ma mi dice che l'exit for deve essere interna al ciclo.
    codice:
    Private Sub CommandButton7_Click()
    exit for
    End Sub
    Ho provato anche a passare una variabile, e penso che sia la soluzione, ma non ci sono riuscita perchè non sono brava nel passaggio di variabili. Come si fa? Grazie Luisa
    codice:
    Private Sub CommandButton7_Click()
    uscita=1
    End Sub
    codice:
    Public Sub NC()
    
    ....
    For Each nome In areanomi
    
    if uscita=1 then
    exit for
    end if
    
    FRnomi.Label7.Caption = nome
      FRnomi.Label8.Caption = nome.row
    FRnomi.Show
    
    Next
    end sub

  2. #2
    A livello del codice del form dichiara una variabile che userai per l'uscita
    codice:
    Dim Uscita As Boolean
    , da impostare a True nel pulsante Annulla; all'interno del for richiama DoEvents e poi effettua il controllo
    codice:
    DoEvents
    If Uscita Then
        Uscita = False
        Exit For
    End If
    .
    Un suggerimento: evita di lasciare tutti i nomi di default dei controlli (CommandButton1, CommandButton2, ...), per evitare lo sforzo di cambiarli a qualcosa di significativo ottieni del codice assolutamente illeggibile.
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.