Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,580

    [vba] variabile booleana è vuota!

    salve a tutti
    i voglio scrivere un semplice "thread" per chè il mio cliente vuole una applicazione che avvii una procedura ed un pulsante di STOP
    stavo mettendomi a studiare un modo ed ho scritto la seguente procedura:

    codice:
    Dim Ferma As Boolean
    
    Sub EseguiCiclo()
    ' Macro1 Macro
    Dim i As Integer
    For i = 0 To 1000
    
         If Ferma = True Then
            Ferma = False
            Exit Sub
        End If
        Application.Sheets("UCG 5").Select
        Range("j" & i & ":j" & i).Select
        Range(Selection, Selection.End(xlDown)).Select
        Range("J" & i).Select
        ActiveCell.FormulaR1C1 = i
        
        DoEvents
    Next
    
    '
       
    End Sub
    Sub Stopp()
    Ferma = True
    End Sub
    sembra strano ma la variabile Ferma è di tipo booleano
    e dentro il ciclo non cambi amai valore anzi, è sempre : vuoto!!!
    come posso fare?
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,459

    Re: [vba] variabile booleana è vuota!

    Originariamente inviato da Kahm
    sembra strano ma la variabile Ferma è di tipo booleano
    e dentro il ciclo non cambi amai valore anzi, è sempre : vuoto!!!
    come posso fare?
    Cosa vuol dire che il valore è "vuoto"?
    O è vero, o è falso.

    Inoltre, hai provato a fare debugging passo passo del tuo programma?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,580

    Re: Re: [vba] variabile booleana è vuota!

    Originariamente inviato da alka
    Cosa vuol dire che il valore è "vuoto"?
    O è vero, o è falso.

    Inoltre, hai provato a fare debugging passo passo del tuo programma?
    ti dico che quando lo eseguo passo passo
    passo il mouse sopra e mi dice Vuoto!

    penso che ci sia un problema di traduzione, altrimenti il valore boolean in VBA ha 3 opzioni...
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,459

    Re: Re: Re: [vba] variabile booleana è vuota!

    Originariamente inviato da Kahm
    passo il mouse sopra e mi dice Vuoto!
    Tralasciando i dettagli, in effetti nel tuo codice la variabile non viene mai inizializzata, e questo - almeno formalmente - è un errore.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    Utente di HTML.it L'avatar di Boolean
    Registrato dal
    Oct 2005
    Messaggi
    758
    Originariamente inviato da alka
    Tralasciando i dettagli, in effetti nel tuo codice la variabile non viene mai inizializzata, e questo - almeno formalmente - è un errore.
    D'accordo sul fatto che non inizializzare le variabili, sia un errore che ne rende imprevedibile lo stato al primo controllo, ma in VB/VBA, le variabili Boolean, se dichiarate, assumono direttamente lo stato False.

    Probabilmente è un problema di "scope" della variabile, dichiarata in un modulo/form e usata in un altro.

    Dove hai inserito le dichiarazioni? E il codice del ciclo?
    Il pulsante Stop dove è posizionato?

    Boolean

  6. #6
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,580
    Originariamente inviato da Boolean
    D'accordo sul fatto che non inizializzare le variabili, sia un errore che ne rende imprevedibile lo stato al primo controllo, ma in VB/VBA, le variabili Boolean, se dichiarate, assumono direttamente lo stato False.

    Probabilmente è un problema di "scope" della variabile, dichiarata in un modulo/form e usata in un altro.

    Dove hai inserito le dichiarazioni? E il codice del ciclo?
    Il pulsante Stop dove è posizionato?

    Boolean
    dichiarate tutte in un modulo
    ho prima usato la generazione automatica Macro, e poi modificato per mettere i 2 pulsanti
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

  7. #7
    Utente di HTML.it L'avatar di Boolean
    Registrato dal
    Oct 2005
    Messaggi
    758
    La variabile Ferma così com'è dichiarata è visibile solo all'interno del modulo... Non avendo ancora ben capito come sono gestiti i pulsanti, ti consiglio di fare una prova dichiarando la variabile Ferma come Public:

    codice:
    Public Ferma As Boolean
    Boolean

  8. #8
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,580
    ancora non va, anche mettendola public
    anzi, questo ciclo è diventato cosi rapido che neanche mi permetteva di fare click sul pulsante STOP!!!
    ho messo dei punti di interruzione , e sebbene STOP la setta a true, quando continua a ciclare la vede come false
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

  9. #9
    Utente di HTML.it L'avatar di Boolean
    Registrato dal
    Oct 2005
    Messaggi
    758
    Purtroppo se non capisco esattamente dove hai messo il codice e dove i pulsanti, andiamo al buio.
    In pratica o lo spieghi dettagliatamente o magari crei una versione del file senza dati in modo che possa vederlo direttamente.

    Boolean

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.