Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[EXCELL] colorare ogni 30 minuti celle non vuote

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

[EXCELL] colorare ogni 30 minuti celle non vuote

Postdi maxwellreturn » 19/09/12 17:50

salve ho bisogno di una macro che ogni 30 minuti mi colori le celle non vuote..e se qualcuno ci riesce ho bisogno di colorarle ogni volta con un colore diverso..

Ps. Se puoi aiutare la macro deve essere eseguita 17 volte.. a partire dalle 9AM (quindi la prima macro parte alle 9.30am) fino alle 17.30

grazie in anticipo
Cordiali Saluti Maxwell
maxwellreturn
Newbie
 
Post: 9
Iscritto il: 17/09/12 11:31

Sponsor
 

Re: [EXCELL] colorare ogni 30 minuti celle non vuote

Postdi ricky53 » 19/09/12 18:59

Ciao,
puoi dare altre informazioni: quali colonne vanno colorate e a partire da quali celle, ... più descrivi e più facile sarà per noi aiutarti

Andiamo avanti per passi successivi: primi coloriamo e poi vediamo di cambiare il colore.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: [EXCELL] colorare ogni 30 minuti celle non vuote

Postdi maxwellreturn » 19/09/12 19:20

ciao ricky... non importa la posizione della cella.. l'importante è che sia "NON VUOTA"..dunque il range da prendere in considerazione è tutto il foglio..spero di aver aiutato..
maxwellreturn
Newbie
 
Post: 9
Iscritto il: 17/09/12 11:31

Re: [EXCELL] colorare ogni 30 minuti celle non vuote

Postdi Flash30005 » 19/09/12 19:36

Tutte le celle? :eeh:

Beh metti i valori indicati se hai excel 2003 altrimenti il numero di righe e colonne disponibili

Codice: Seleziona tutto
Sub ColoraCelleVuote()
Cells.Interior.ColorIndex = xlNone
Dim X As Integer, Y As Integer, Z As Integer 'con queste tre variabili, X, Y e Z 'impostiamo il numero da randomizzare che verrà assegnato alle tre variabili uno, due, tre, 'che formeranno quindi gli argomenti della Funzione RGB, e cioè un colore
X = 255
Y = 255
Z = 255
For r = 1 To 30 ' o 65000 (numero di righe)
    For c = 1 To 15 ' o 256 (numero di colonne)
        Randomize (Timer)
        uno = Int(X * Rnd) + 1
        due = Int(Y * Rnd) + 1
        tre = Int(Z * Rnd) + 1
        If Cells(r, c).Value <> "" Then Cells(r, c).Interior.Color = RGB(uno, due, tre)
    Next c
Next r
End Sub


Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [EXCELL] colorare ogni 30 minuti celle non vuote

Postdi ricky53 » 19/09/12 19:50

Ciao Max,
scusa la domanda: ma in questo modo non avrai un guazzabuglio di colori?

Posso chiederti quale particolare necessità hai per voler colorare tutte le celle piene?


LEGGI quanto ti ha scritto Flash
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: [EXCELL] colorare ogni 30 minuti celle non vuote

Postdi Flash30005 » 19/09/12 21:18

Avevodimenticato di inserire il ciclo ogni 30 minuti
e per evitare il "guazzabuglio di colori" (del resto è stato chiesto di colorare... :D
Vediamo se così va meglio
Codice: Seleziona tutto
Sub Restarta()
Cells.Interior.ColorIndex = xlNone
Cells.Font.ColorIndex = 0
ColFont = 0
    Colore = (Colore + 1) Mod 6
    If Colore = 0 Then Colore = 6
    Select Case Colore
    Case 1
    X = 255
    Y = 0
    Z = 0
    ColFont = 2
    Case 2
    X = 0
    Y = 255
    Z = 0
    Case 3
    X = 0
    Y = 0
    Z = 255
    ColFont = 2
    Case 4
    X = 255
    Y = 255
    Z = 0
    Case 5
    X = 255
    Y = 0
    Z = 255
    ColFont = 2
    Case 6
    X = 0
    Y = 255
    Z = 255
    End Select
For r = 1 To 30 ' o 65000 (numero di righe)
    For c = 1 To 15 ' o 256 (numero di colonne)
        If Cells(r, c).Value <> "" Then Cells(r, c).Interior.Color = RGB(X, Y, Z): Cells(r, c).Font.ColorIndex = ColFont
    Next c
Next r
Application.OnTime Now + TimeValue("00:00:05"), "Restarta"  ' Così impostato avviene un ciclo ogni 5 secondi
End Sub


Ciao

N.B fermi la macro entrando nel Vba e premendo Ctrl+Pausa
P.s. Leggi quanto scritto nei post precedenti
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [EXCELL] colorare ogni 30 minuti celle non vuote

Postdi maxwellreturn » 19/09/12 23:16

scusatemi mi rendo conto di essere stato poco chiaro..cercherò di spiegarvi meglio..
ato lavorando ad un progetto finanziario..sostanzialmente in questa cartella di excell ricevo dati in DDE nella cella A1 del Foglio 1.

Grazie ad una Macro basata sul SetLinkOnData ogni volta che ricevo un input dal DDE(che nel mio caso sono i prezzi di un indice), questa mi inserisce i prezzi nella Colonna A del foglio 2 e tramite il Row.Cont ogni volta che riveco un imput avanzo di una riga e così via..
Grazie a Flash (che l'altra volta mi ha aiutato) questa macro mi fa avanzare i prezzi verso destra nella stessa riga con il valore uguale ad un prezzo (sempre nella Colonna A).. Con un esempio chiarisco tutto:
Immagine

questi valori mettiamo conto li ho durante la prima mezz'ora di contrattazioni. Allo scattare delle 9.30(o dopo mezz'ora) la macro mi di cui avrei bisogno mi colora i valori di un unico colore nel seguente modo:
Immagine

continuo a ricevere valori ma i nuovi valori non sono colorati:
Immagine

Infine la macro agisce dopo un altra mezz'ora..quindi dopo un ora in totale nel seguente modo:
Immagine

spero di avervi chiarito lo scopo che mi sono prefissato e spero possiate continuare ad aiutarmi..
vi chiedo scusa per la mia poca chiarezza
Cordiali Saluti
Maxwell
maxwellreturn
Newbie
 
Post: 9
Iscritto il: 17/09/12 11:31

Re: [EXCELL] colorare ogni 30 minuti celle non vuote

Postdi Flash30005 » 19/09/12 23:42

Prova questa macro (in realtà sono 3 + dichiarazione Public)
Codice: Seleziona tutto
Public Ferma, Colore As Integer


Sub Restarta()
ColFont = 0
    Colore = (Colore + 1) Mod 6
    If Colore = 0 Then Colore = 6
    Select Case Colore
    Case 1
    X = 255
    Y = 0
    Z = 0
    ColFont = 2
    Case 2
    X = 0
    Y = 255
    Z = 0
    Case 3
    X = 0
    Y = 0
    Z = 255
    ColFont = 2
    Case 4
    X = 255
    Y = 255
    Z = 0
    Case 5
    X = 255
    Y = 0
    Z = 255
    ColFont = 2
    Case 6
    X = 0
    Y = 255
    Z = 255
    End Select
For r = 1 To 30 ' o 65000 (numero di righe)
    For c = 1 To 15 ' o 256 (numero di colonne)
    If Cells(r, c).Value <> "" Then
        If Cells(r, c).Interior.ColorIndex = xlNone Then Cells(r, c).Interior.Color = RGB(X, Y, Z): Cells(r, c).Font.ColorIndex = ColFont
    End If
    Next c
Next r
DoEvents
If Ferma = 1 Then Exit Sub
Application.OnTime Now + TimeValue("00:01:00"), "Restarta"  ' Così impostato avviene un ciclo ogni minuto (hh:mm:ss)
End Sub
Sub Avvia()
Cells.Interior.ColorIndex = xlNone
Cells.Font.ColorIndex = 0
Restarta
Ferma = 0
End Sub
Sub Stoppa()
Ferma = 1
End Sub

Assegna un comando alla macro "Avvio"
e un comando alla macro "Stoppa"

Però credo che se hai già un timer ciclico, già utilizzato per DDE, dovrai commentare delle righe per evitare il doppio loop
ma questo solo tu lo sai

Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [EXCELL] colorare ogni 30 minuti celle non vuote

Postdi maxwellreturn » 20/09/12 17:33

ciao flash..la tua macro va benissimo...la devo riadattare perchè mi servono 17 colori diversi..comunque grazie mille..va benissimo!!!
cordiali saluti e grazie ancora
maxwellreturn
Newbie
 
Post: 9
Iscritto il: 17/09/12 11:31

Re: [EXCELL] colorare ogni 30 minuti celle non vuote

Postdi Flash30005 » 20/09/12 17:58

Beh la macro è abbastanza intuitiva
ora i colori sono 6
porti quel valore a 17 e aggiungi 11 "case" con RGB diversi

In caso di difficoltà siamo qui ;)

ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-


Torna a Applicazioni Office Windows


Topic correlati a "[EXCELL] colorare ogni 30 minuti celle non vuote":


Chi c’è in linea

Visitano il forum: Nessuno e 17 ospiti