| | Post: 353 | Registrato il: 08/01/2012
| Città: MILANO | Età: 56 | Utente Senior | excel 2000/2007 | | OFFLINE | |
|
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 |
|
| | Post: 4.227 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Master | Excel 365 | | OFFLINE |
|
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 |
| | Post: 353 | Registrato il: 08/01/2012
| Città: MILANO | Età: 56 | Utente Senior | excel 2000/2007 | | OFFLINE | |
|
17/08/2019 16:04 | |
Non cella lampeggiante ma il testo di una label di una userform. ------------------
excel 2003 / 20007 |
| | Post: 847 | Registrato il: 16/08/2015
| Città: CORDENONS | Età: 67 | Utente Senior | Excel 2016-32bit Win11 | | OFFLINE |
|
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) |
| | Post: 4.228 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Master | Excel 365 | | OFFLINE |
|
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 |
| | Post: 848 | Registrato il: 16/08/2015
| Città: CORDENONS | Età: 67 | Utente Senior | Excel 2016-32bit Win11 | | OFFLINE |
|
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) |
| | Post: 850 | Registrato il: 16/08/2015
| Città: CORDENONS | Età: 67 | Utente Senior | Excel 2016-32bit Win11 | | OFFLINE |
|
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) |
| | Post: 354 | Registrato il: 08/01/2012
| Città: MILANO | Età: 56 | Utente Senior | excel 2000/2007 | | OFFLINE | |
|
17/08/2019 19:05 | |
Grazie rollis,
aspetto una modifica?
patrik ------------------
excel 2003 / 20007 |
| | Post: 851 | Registrato il: 16/08/2015
| Città: CORDENONS | Età: 67 | Utente Senior | Excel 2016-32bit Win11 | | OFFLINE |
|
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) |
| | Post: 2.340 | Registrato il: 06/04/2013
| Utente Veteran | 2010 | | OFFLINE |
|
17/08/2019 19:41 | |
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 |
| | Post: 852 | Registrato il: 16/08/2015
| Città: CORDENONS | Età: 67 | Utente Senior | Excel 2016-32bit Win11 | | OFFLINE |
|
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) |
| | Post: 2.341 | Registrato il: 06/04/2013
| Utente Veteran | 2010 | | OFFLINE |
|
18/08/2019 09:51 | |
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 |
| | Post: 854 | Registrato il: 16/08/2015
| Città: CORDENONS | Età: 67 | Utente Senior | Excel 2016-32bit Win11 | | OFFLINE |
|
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) |
|
|