Condividi tramite

cella lampeggiante

Anonimo
2015-12-07T00:14:48+00:00

Salve, vorrei creare un foglio in excel dove inserire nella colonna A il nome di un dato, nella colonna B la data di inserimento, nella colonna C vorrei che lampeggiassero le celle se la data della colonna B supera 30 giorni.

Mi piacerebbe inoltre avere due bottoni per attivare e disattivare il controllo delle date in quanto i dati da inserire potrebbero essere parecchi. Se è possibile un file allegato.

Grazie

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2015-12-07T11:31:25+00:00

Ciao Danilo,

Ciao Norman, hai capito perfettamente quello che volevo, non c'è altro da aggiungere, tutto perfetto.

Mi fa piacere che hai risolto il problema e ti ringrazio per il cortese riscontro.

Per chiudere questo thread, vorrei chiederti gentilmente di contrasegnare la mia risposta come Risposta preferita. In questo modo, tu aiuterai anche coloro che potessero cercare soluzioni ai problemi simili negli archivi della Community.

Avrei solo un dubbio: per quante celle fa il controllo?

C'è un numero limitato?

Non dovresti incontrare un limite - ma, provalo! Incrementando il numero di righe di dati, il codice evidenzierebbe automaticamete le nuove celle di interesse.

===

Regards,

Norman

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2015-12-07T04:38:52+00:00

Ciao Danilo,

Potresti spiegare questa esigenza in modo piu dettagliato in quanto non mi risulta chiara?

In attesa della tua risposta, e ipotizzando che la tua intenzione sia di avere due pulsanti per consentire di avviare il lampeggio delle celle di interesse e di terminarlo, prova qualcosa del genere:

  • Alt+F11 per aprire l'editor di VBA
  • Alt+IM per inserire un nuovo modulo di codice
  • Nel nuovo modulo vuoto, incolla il seguente codice:

'=========>>

Option Explicit

Public Rng As Range

Public RunWhen As Double

Public Const cRunIntervalSeconds = 1

Public Const cRunWhat = "Blink"

Public myColor As Long

'--------->>

Public Sub Blink()

    Dim WB As Workbook

    Dim SH As Worksheet

    Dim Rng2 As Range, rCell As Range

    Dim appTime As Double

    Dim LRow As Long

    Const mioFoglio As String = "Foglio1"                      '<<=== Modifica

    Const sStr As String = "Scaduta"

    Set WB = ThisWorkbook

    Set SH = WB.Sheets(mioFoglio)

    With SH

        LRow = LastRow(SH, .Columns("D:D"))

        Set Rng = .Range("D2:D" & LRow)

    End With

    Rng.Font.ColorIndex = 1

    On Error Resume Next

    Set Rng2 = Rng.SpecialCells(xlCellTypeFormulas)

    On Error GoTo 0

    If Not Rng2 Is Nothing Then

        For Each rCell In Rng.Cells

            With rCell

                If .Value = sStr Then

                    .Font.ColorIndex = myColor

                End If

            End With

        Next rCell

    End If

    Call StartIt

End Sub

'--------->>

Public Sub StartIt()

    On Error Resume Next

    Application.OnTime EarliestTime:=RunWhen, _

                       Procedure:=cRunWhat, _

                       Schedule:=False

    myColor = IIf(myColor = 1, 3, 1)

    RunWhen = Now + TimeSerial(0, 0, 1)

    Application.OnTime EarliestTime:=RunWhen, _

                       Procedure:=cRunWhat, _

                       Schedule:=True

End Sub

'--------->>

Public Sub StopIt()

    On Error Resume Next

    Rng.Font.ColorIndex = 1

    On Error Resume Next

    Application.OnTime EarliestTime:=RunWhen, _

                       Procedure:=cRunWhat, _

                       Schedule:=False

End Sub

'--------->>

Public Function LastRow(SH As Worksheet, _

                        Optional Rng As Range)

    If Rng Is Nothing Then

        Set Rng = SH.Cells

    End If

    On Error Resume Next

    LastRow = Rng.Find(What:="*", _

                       after:=Rng.Cells(1), _

                       Lookat:=xlPart, _

                       LookIn:=xlFormulas, _

                       SearchOrder:=xlByRows, _

                       SearchDirection:=xlPrevious, _

                       MatchCase:=False).Row

    On Error GoTo 0

End Function

'<<=========

Alt+Q per chiudere l'editor di VBA e tornare a Excel.

Sul foglio di interesse, inserisci due pulsanti dagli Controlli Modulo

  • Fai clic dx sul primo pulsante | Assegna Macro | StartIt | OK

  • In modo analogo, fai clic dx sul secondo pulsante | Assegna MacroStopIt| OK
  • Salva il file con l'estensione xlsm

Per avviare il lampeggio delle celle di interesse, premi il primo pulsante; per terminarlo, premi il secindo pulsante.

Potresti scaricare il mio file di prova Danilo20151207.xlsm a:

                                    **http://1drv.ms/1TQU4E1**

A proposito, vorrei aggiungere che io non sono un grande appassionato dell'uso delle celle lampeggianti che, tra l'altro, credo sia contro la legge in certe stati degli Stati Uniti e altrove, In questo caso, la mia preferenza personale sarebbe di utilizzare la formatazione condizionale, eventualmente applicandola e cancellandola mediante i due pulsanti.

In conclusione. ti chiederei anche di gentimente rispondere alla mia risposta al tuo thread precedente.

===

Regards,

Norman

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento

4 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2015-12-07T11:41:52+00:00

    A proposito, vorrei aggiungere che io non sono un grande appassionato dell'uso delle celle lampeggianti che

    +1

    Ma siamo vicini a Natale e quindi *le lucine lampeggianti* nel foglio sono in tema.... ;-)

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2015-12-07T11:14:58+00:00

    Ciao Norman, hai capito perfettamente quello che volevo, non c'è altro da aggiungere, tutto perfetto.

    Avrei solo un dubbio: per quante celle fa il controllo?

    C'è un numero limitato?

    Ti ringrazio tantissimo.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2015-12-07T01:10:05+00:00

    Ciao Danilo,

    Mi piacerebbe inoltre avere due bottoni per attivare e disattivare il controllo delle date in quanto i dati da inserire potrebbero essere parecchi

    Potresti spiegare questa esigenza in modo piu dettagliato in quanto non mi risulta chiara?

    ===

    Regards,

    Norman

    La risposta è stata utile?

    0 commenti Nessun commento