Lampeggio Celle

Visual Basic for Applications
  • Lampeggio Celle (2007) di Pietro (utente non iscritto) data: 29/06/2013 12:31:30

    Ciao ragazzi,
    vorrei sapere se è possibile far lampeggiare delle celle.
    Ho una colonna che contiene numeri e se i valori delle celle sono inferiori o uguali a 10 le celle devono lampeggiare, come posso fare? Grazie mille
  • di mabolsie data: 29/06/2013 15:41:08

    Ciao Pietro ti allego questo codice provalo

    Ciao Max
     
    Private Sub CommandButton2_Click()
    Dim PauseTime, Start, Finish
    Dim x As Integer
    Dim y As Integer
    For I = 0 To 5
    y = I
    Select Case y
    Case 0
    x = 2
    Case 1
    x = 3
    Case 2
    x = 2
    Case 3
    x = 3
    Case 4
    x = 2
    Case 5
    x = 3
    End Select
    Cells(4, 10) = "ATTENZIONE"
    Cells(4, 10).Interior.ColorIndex = x
    PauseTime = 0.5
    Start = Timer
    Do While Timer < Start + PauseTime
    'DoEvents  'si consente di passare il controllo ad altri processi.(altrimenti il ciclo bloccherebbe altri eventi)
    Loop
    Finish = Timer  ' Imposta l'ora di fine della pausa.
    Next
    Cells(4, 10).Interior.ColorIndex = 0
    Cells(4, 10) = ""
    End Sub
  • Lampeggio Celle di Pietro (utente non iscritto) data: 29/06/2013 16:25:36

    Ciao Max,
    ti ringrazio per la risposta. Ti volevo chiedere dove inserire questo codice. I dati contenuti nella colonna H, se sono minori di 10 devono lampeggiare. Grazie ancora.
  • di mabolsie data: 29/06/2013 23:05:01

    Ciao Pietro ti ho inviato un esempio in alternativa in quanto non si possono far lampeggiare tutte le celle

    Provalo e fammi sapere

    Buona Domenica Max
  • di Vecchio Frac data: 30/06/2013 15:06:54

    Mi permetto di postare una soluzione diversa. Allego il file "pietro 2 - vfrac.xls".
    Si basa sull'utilizzo di un timer e di OnTime.
    Nel file le celle con valori inferiori al range sembrano lampeggiare perché il font color è impostato a bianco
    Il limite sotto cui far lampeggiare lo si imposta in cella O3; il vantaggio di questo metodo è che il foglio Excel non si congela ma permette comunque l'interazione.
    Credo sia necessario stoppare con Azzera/Ferma prima di uscire (effetti collaterali sempre dietro l'angolo quando si gioca con OnTime).
  • Lampeggio Celle di Pietro (utente non iscritto) data: 30/06/2013 16:29:45

    Proprio quello di cui avevo bisogno, grazie Vecchio Frac.
  • di mabolsie data: 30/06/2013 18:24:25

    @ vecchio frac

    ...sei un pozzo inesauribile non finisco di capire un comando che me ne propini dieci nuovi, mi spieghi la funzione union ???

    Comunque grazie

    Ciao Max
  • di Vecchio Frac data: 30/06/2013 19:03:16

    Sempre contento di essere utile ^_^
    "Application.Union": restituisce l'unione di due o più intervalli. Ma presenta dei bug. Se il primo Range è nothing, produce errore.
    Quindi mi sono servito, in questo caso, della function Union che riallego per comodità (non è mia, l'ho riciclata con successo).
    Fa la stessa cosa ma non si ferma se uno degli intervalli è nothing. Avendo poi lo stesso nome, viene eseguita al posto della Union incorporata di Excel.


     
    Private Function Union(Rng1 As Range, ByVal Rng2 As Range) As Range
    'thx to Tushar Mehta
    'dailydoseofexcel.com/archives/2007/08/17/two-new-range-functions-union-and-subtract/
        If Rng1 Is Nothing Then
            Set Union = Rng2
        ElseIf Rng2 Is Nothing Then
            Set Union = Rng1
        Else
            Set Union = Application.Union(Rng1, Rng2)
        End If
    End Function
    
  • di mabolsie data: 30/06/2013 21:11:46

    @ vecchio frac

    adesso ho capito la scopiazzo nel mio archivio, grazie

    ciao Max