Excel Forum Per condividere esperienze su Microsoft Excel

label lampeggiante

  • Messaggi
  • OFFLINE
    patrik01
    Post: 353
    Registrato il: 08/01/2012
    Città: MILANO
    Età: 56
    Utente Senior
    excel 2000/2007
    00 17/08/2019 14:24
    Ciao a tutti,
    come rendere lampeggiante il testo della label1 dell'userform allegata?
    Grazie
    patrik
    [Modificato da patrik01 17/08/2019 14:26]
    ------------------
    excel 2003 / 20007
  • OFFLINE
    alfrimpa
    Post: 4.227
    Registrato il: 21/06/2013
    Città: NAPOLI
    Età: 70
    Utente Master
    Excel 365
    00 17/08/2019 15:21
    Fai una ricerca sul forum perchè l'argomento (cella lampeggiante) è stato trattato molte volte.

    Oppure anche con Google "Excel VBA Blinking cells"

    Alfredo
  • OFFLINE
    patrik01
    Post: 353
    Registrato il: 08/01/2012
    Città: MILANO
    Età: 56
    Utente Senior
    excel 2000/2007
    00 17/08/2019 16:04
    Non cella lampeggiante ma il testo di una label di una userform.
    ------------------
    excel 2003 / 20007
  • OFFLINE
    rollis13
    Post: 847
    Registrato il: 16/08/2015
    Città: CORDENONS
    Età: 67
    Utente Senior
    Excel 2016-32bit Win11
    00 17/08/2019 16:04
    Un saluto a tutti.

    Da quello che ho capito io credo che il problema non sia far lampeggiare una cella bensì il testo di una label in una userform.
    Dato che per far lampeggiare una cella si usa sempre la funzione vbe Application.OnTime non credo che questa possa applicata al testo di una label, al massimo nella proprietà della label si può impostare un formato testo diverso (grassetto, corsivo, un colore, ecc.).

    ______________________________________________________________
    C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
  • OFFLINE
    alfrimpa
    Post: 4.228
    Registrato il: 21/06/2013
    Città: NAPOLI
    Età: 70
    Utente Master
    Excel 365
    00 17/08/2019 16:45
    Scusa Rollis forse mi sbaglio ma mi sembra di ricordare che la label abbia la proprietà ForeColor che dà il colore al testo (caption) in essa contenuto.

    Se con un Application.Ontime si imposta per tot secondi il ForeColor = al BackColor e poi nuovamente ForeColor <> BackColor non si ottiene il "lampeggio" del testo contenuto in una label?

    O ricordo male?

    Che si tratti di celle o label sempre da Application.OnTime occorre partire.

    Alfredo
  • OFFLINE
    rollis13
    Post: 848
    Registrato il: 16/08/2015
    Città: CORDENONS
    Età: 67
    Utente Senior
    Excel 2016-32bit Win11
    00 17/08/2019 17:41
    Per 'colore' mi riferivo a quel poco che si può fare con il parametro 'Font'

    Per quanto riguarda l'Application.Ontime l'ho sempre utilizzata per lanci di altre macro e non ho mai 'pasticciato' usandola con i parametri di una Label, sarebbe da provare, ma credo che ci sia poco spazio temporale per tra il gestire la temporizzazione ed il tempo reale dell'apertura di quell' UserForm (serve solo per selezionare una voce) che ha vita breve.

    ______________________________________________________________
    C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
  • OFFLINE
    rollis13
    Post: 850
    Registrato il: 16/08/2015
    Città: CORDENONS
    Età: 67
    Utente Senior
    Excel 2016-32bit Win11
    00 17/08/2019 18:34
    Ok, ho provato a 'pasticciare' e questo è quello che ho partorito:

    Per valutare bisogna accedere al file dato che ci sono diverse piccole integrazioni in vari punti ma in pratica ho aggiunto un timer con macro avvio/stop ed un richiamo a tali macro da vari punto del progetto.
    Per ora ho riscontrato una sola criticità, se chiudo l'UserForm con la croce e poi non clicco su una cella, alla successiva apertura dell'UserForm la Label non lampeggia.
    Option Explicit
    Dim xTime As Variant                              '<= aggiunta
    
    Sub prova()
    
        UserForm1.Show
        
    End Sub
    
    Sub lampeggia()                                   '<= aggiunta
    
        xTime = Now + TimeSerial(0, 0, 1)
        UserForm1.Label1.Visible = Not UserForm1.Label1.Visible
        Application.OnTime xTime, "lampeggia", , True
        
    End Sub
    
    Sub interrompi()                                  '<= aggiunta
    
        On Error Resume Next
        Application.OnTime xTime, "lampeggia", , False
        
    End Sub
    Private Sub UserForm_Initialize()
    
        Me.Label1.Caption = Environ("UserName") & " inserisci il numero di righe da eliminare"
        Call lampeggia                                '<= aggiunta
        
    End Sub
    Private Sub CommandButton2_Click()
    
        Call interrompi                               '<= aggiunta
        Unload Me
        End
        
    End Sub
    Private Sub CommandButton1_Click()
    
        If Me.ComboBox1.BoundValue = vbNullString Then
        End If
        Call interrompi                               '<= aggiunta
        Unload Me
        
    End Sub
    [Modificato da rollis13 17/08/2019 18:39]

    ______________________________________________________________
    C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
  • OFFLINE
    patrik01
    Post: 354
    Registrato il: 08/01/2012
    Città: MILANO
    Età: 56
    Utente Senior
    excel 2000/2007
    00 17/08/2019 19:05
    Grazie rollis,
    aspetto una modifica?
    patrik
    ------------------
    excel 2003 / 20007
  • OFFLINE
    rollis13
    Post: 851
    Registrato il: 16/08/2015
    Città: CORDENONS
    Età: 67
    Utente Senior
    Excel 2016-32bit Win11
    00 17/08/2019 19:24
    Sinceramente no, non ho mai 'pasticciato' così tanto 😁.
    Adesso, prima devo capire che 'giri' fa Excel VBE quando viene premuta la X 😮.

    ______________________________________________________________
    C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
  • OFFLINE
    dodo47
    Post: 2.340
    Registrato il: 06/04/2013
    Utente Veteran
    2010
    10 17/08/2019 19:41
    Re:
    rollis13, 17/08/2019 19.24:

    Adesso, prima devo capire che 'giri' fa Excel VBE quando viene premuta la X 😮.



    mbè, senza che ti impazzisci di più puoi sempre inibirla/intercettarla con la Private Sub UserForm_QueryClose....😉

    saluti



    [Modificato da dodo47 17/08/2019 19:42]
    Domenico
    Win 10 - Excel 2016
  • OFFLINE
    rollis13
    Post: 852
    Registrato il: 16/08/2015
    Città: CORDENONS
    Età: 67
    Utente Senior
    Excel 2016-32bit Win11
    00 17/08/2019 21:27
    Grazie dell'imbeccata 👍, così me la cavo con poco 🙄.
    In realtà il mio pensiero era: "e se l'utente avesse bisogno della X ?".

    Senza X basta aggiungere nel codice dell'UserForm quest'altra macro:
    Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    
        If CloseMode <> 1 Then Cancel = True
        Me.Caption = "Chiudi con gli appositi pulsanti !"
        
    End Sub
    [Modificato da rollis13 17/08/2019 21:32]

    ______________________________________________________________
    C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
  • OFFLINE
    dodo47
    Post: 2.341
    Registrato il: 06/04/2013
    Utente Veteran
    2010
    00 18/08/2019 09:51
    Re:
    rollis13, 17/08/2019 21.27:

    .......In realtà il mio pensiero era: "e se l'utente avesse bisogno della X ?".




    E che cambia? intanto intercetta la X e termina l'OnTime (che non vedrei...), poi non è detto che la queryClose debba per forza inibire la X, può semplicemente continuare il processo di chiusura della form senza ulteriori pulsanti ignorando il parametro Cancel.

    (sempre che stiamo parlando della stessa cosa 🙄)

    saluti



    [Modificato da dodo47 18/08/2019 11:35]
    Domenico
    Win 10 - Excel 2016
  • OFFLINE
    rollis13
    Post: 854
    Registrato il: 16/08/2015
    Città: CORDENONS
    Età: 67
    Utente Senior
    Excel 2016-32bit Win11
    00 18/08/2019 14:47
    Hai perfettamente ragione 👍, è che ieri sera c'ho messo diverse ore per realizzare che una volta intercettato la X si può procedere come si vuole; sul momento, dopo l'imbeccata, mi bastava terminare correttamente l'Application.Ontime.
    Ora però, dopo il bel giro in bicicletta di questa mattina, lascio il divertimento di fare qualche aggiustamento all'utente 😁.

    ______________________________________________________________
    C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
  • 15MediaObject5,00113 1