| | Post: 2 | Registrato il: 29/07/2015
| Città: MERCATO SAN SEVERINO | Età: 42 | Utente Junior | 2010 | | OFFLINE | |
|
29/07/2015 16:07 | |
Buonasera a tutti.
Sto creando un foglio di lavoro con le attività da svolgere in azienda.
Nel foglio di lavoro descrivo il problema in una cella mentre nella cella accanto indico la data in cui si è verificato e nella cella seguente (sempre sulla stessa riga) la funzione che conta i giorni trascorsi dal verificarsi del problema descritto. Ora io vorrei creare un'ulteriore cella accanto a quella dei giorni trascorsi che lampeggiasse nel caso in cui siano trascorsi più di 30 giorni. Ovviamente questo deve essere ripetuto per tutte le righe.
Secondo voi è possibile? qualcuno può darmi qualche suggerimento?
Ho provato con diverse macro trovate su vari forum e pur adattandole al mio caso nessuna funziona.
Grazie anticipatamente
Mario |
|
| | Post: 847 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Senior | Excel 365 | | OFFLINE |
|
29/07/2015 16:20 | |
Ciao Mario
Non sono un grosso esperto di Formattazione Condizionale e non so se questa prevede il lampeggio del testo (non puoi "accontentarti" di un colore diverso).
Con le macro si potrebbe anche fare ma c'é un problema.
Presumo che la cella che contiene il numero dei giorni sia una formula; ecco il problema è questo: Excel non riconosce come variazione "fisica" del foglio di lavoro la variazione del risultato di una formula per cui non si può legare a questo evento l'esecuzione di una macro.
Non so se sono stato chiaro.
Ma comunque in un modo o nell'altro una soluzione si trova (per il momento sono senza pc per cui non posso proporti soluzioni; magari ad inizio settimana prox)
Alfredo |
| | Post: 2.645 | Registrato il: 28/06/2011
| Città: AGORDO | Età: 70 | Utente Veteran | 2013 | | OFFLINE | |
|
29/07/2015 16:41 | |
Lampeggiare ci vuole il VBA
Però con la formattazione condizionale puoi evidenziale.
Presumo che in cella C2 ci sia una formula simile =OGGI()-B2
Ora se selezioni la colonna C (anche se le righe sono vuote)
Vai in Formattazione condizionale/Gestisci regole/Utilizza formula.....
Se il problema è che dopo 30 giorni si colorano OK =E(C1>30)
Però rimarrano sempre colorate
Se invece desideri che trascorsi altri 10/20 giorni diventano bianche o con altro colore devi mettere una seconda formattzione con altro colore =E(C1>60) "dopo 60 giorni cambia colore"
Excel 2013 |
| | Post: 2 | Registrato il: 29/07/2015
| Città: MERCATO SAN SEVERINO | Età: 42 | Utente Junior | 2010 | | OFFLINE | |
|
29/07/2015 16:48 | |
alfrimpa, 29/07/2015 16:20:
Ciao Mario
Non sono un grosso esperto di Formattazione Condizionale e non so se questa prevede il lampeggio del testo (non puoi "accontentarti" di un colore diverso).
Con le macro si potrebbe anche fare ma c'é un problema.
Presumo che la cella che contiene il numero dei giorni sia una formula; ecco il problema è questo: Excel non riconosce come variazione "fisica" del foglio di lavoro la variazione del risultato di una formula per cui non si può legare a questo evento l'esecuzione di una macro.
Non so se sono stato chiaro.
Ma comunque in un modo o nell'altro una soluzione si trova (per il momento sono senza pc per cui non posso proporti soluzioni; magari ad inizio settimana prox)
GRAZIE MILLE, ASPETTO TUE NOTIZIE. GENTILISSIMO
|
| | Post: 3 | Registrato il: 29/07/2015
| Città: MERCATO SAN SEVERINO | Età: 42 | Utente Junior | 2010 | | OFFLINE | |
|
29/07/2015 16:49 | |
raffaele1953, 29/07/2015 16:41:
Lampeggiare ci vuole il VBA
Però con la formattazione condizionale puoi evidenziale.
Presumo che in cella C2 ci sia una formula simile =OGGI()-B2
Ora se selezioni la colonna C (anche se le righe sono vuote)
Vai in Formattazione condizionale/Gestisci regole/Utilizza formula.....
Se il problema è che dopo 30 giorni si colorano OK =E(C1>30)
Però rimarrano sempre colorate
Se invece desideri che trascorsi altri 10/20 giorni diventano bianche o con altro colore devi mettere una seconda formattzione con altro colore =E(C1>60) "dopo 60 giorni cambia colore"
Ciao. Ho già impostato la formattazione condizionale come misura temporanea, però spero di riuscire a farlo con le macro. Grazie mille |
| | Post: 4.431 | Registrato il: 14/11/2004
| Utente Master | Office 2019 | | OFFLINE |
|
29/07/2015 21:51 | |
Ciao per il lampeggio delle celle, questa è una macro per il lampeggio, non è mia ma recepita sul web.
certo dovrà essere adattata al tuo problema.
Sub Lampeggia()
Dim PauseTime, Start, Finish
If Range("E1").Value = "Pippo" Then
For x = 1 To 5 'inizia il ciclo e lo ripete per 5 volte
PauseTime = 0.5 ' Imposta la durata in secondi. ho messo 1/2 secondo
Start = Timer ' Imposta l'inizio.
Do While Timer < Start + PauseTime
DoEvents ' Passa il controllo ad altri processi.
Range("A1:D7").Cells.Interior.ColorIndex = 3 'colora il range di celle di rosso
Range("A12:D21").Cells.Interior.ColorIndex = 6 'colora il range di celle di giallo
Loop
Finish = Timer ' Imposta la fine della pausa.
PauseTime = 0.5 ' Imposta la durata.
Start = Timer ' Imposta l'inizio.
Do While Timer < Start + PauseTime
DoEvents ' Passa il controllo ad altri processi.
Range("A1:D7").Cells.Interior.ColorIndex = 6
Range("A12:D21").Cells.Interior.ColorIndex = 3
Loop
Finish = Timer ' Imposta la fine della pausa.
Next x
' finisce il ciclo, appare un messaggio
' che blocca i colori
MsgBox "ATTENZIONE!!!! orario inserito"
' premuto ok sul messaggio, vengono eliminati i colori
Range("A1:D7").Cells.Interior.ColorIndex = xlNone
Range("A12:D21").Cells.Interior.ColorIndex = xlNone
'finisce
End
End If
End Sub
ci sono i commeti per capire meglio il codice è poter intervenire nella modifica.
Ciao By Sal
se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui |
| | Post: 1.989 | Registrato il: 03/04/2013
| Utente Veteran | Excel 2000 - 2013 | | OFFLINE | |
|
30/07/2015 09:10 | |
Buona giornata a Tutti. @ ExcelformeMario, prima di proporti la procedura che ho utilizzato, preferisco esporti la struttura che ho pensato di adottare. Mi sono permesso di aggiungere il Campo "Data anomalia Risolta"; questo dovrebbe consentirti di monitorare i tempi di intervento sull'anomalia segnalata. Ovviamente questo è solo un plus alla Tua struttura. Detto ciò, la procedura analizza tutte le anomalie denunciate, controlla, in sequenza automatica, tutte le "Data anomalia Rilevata"; nel caso in cui la Data superi i 30 giorni, il Campo "Anomalia" lampeggerà per 5 secondi ad intervalli di ½ secondo. Nell'immagine allegata, l'unico Record che lampeggerà sarà quello riportatao in Riga 4 Il Pulsante "Controllo", attiva la procedura. Ho anche considerato la possibilità di interrompere la procedura; per questo ho inserito il Pulsante "Fine" Spero di essere stato esaustivo senza essere prolisso. A disposizione. Buon Lavoro e buona serata. Giuseppe
Windows XP - Excel 2000
Windows 10 - Excel 2013 |
| | Post: 4 | Registrato il: 29/07/2015
| Città: MERCATO SAN SEVERINO | Età: 42 | Utente Junior | 2010 | | OFFLINE | |
|
30/07/2015 12:05 | |
GiuseppeMN, 30/07/2015 09:10:
Buona giornata a Tutti.
@ Excelforme Mario, prima di proporti la procedura che ho utilizzato, preferisco esporti la struttura che ho pensato di adottare.
Mi sono permesso di aggiungere il Campo "Data anomalia Risolta"; questo dovrebbe consentirti di monitorare i tempi di intervento sull'anomalia segnalata. Ovviamente questo è solo un plus alla Tua struttura.
Detto ciò, la procedura analizza tutte le anomalie denunciate, controlla, in sequenza automatica, tutte le "Data anomalia Rilevata"; nel caso in cui la Data superi i 30 giorni, il Campo "Anomalia" lampeggerà per 5 secondi ad intervalli di ½ secondo.
Nell'immagine allegata, l'unico Record che lampeggerà sarà quello riportatao in Riga 4
Il Pulsante "Controllo", attiva la procedura.
Ho anche considerato la possibilità di interrompere la procedura; per questo ho inserito il Pulsante "Fine"
Spero di essere stato esaustivo senza essere prolisso.
A disposizione.
Buon Lavoro e buona serata.
Giuseppe
Grazie Mille GIuseppe. E' davvero interessante la soluzione proposta. Mi piace molto il fatto di attivare la procedura manualmente e anche la possibilità di poter interrompere. Davvero eccezzionale. Come posso fare per scaricare questo format? Grazie ancora |
| | Post: 1.990 | Registrato il: 03/04/2013
| Utente Veteran | Excel 2000 - 2013 | | OFFLINE | |
|
30/07/2015 17:38 | |
Buona sera, Mario; ti leggo solo ora. In allegato il File accennato in Risposta #07. Considera che, attualmente, è configurato per 550 Record; Per aumentare il numero di Record fruibili, è sufficiente copiare una delle Righe dell'attuale Range nelle Celle sottostanti. In realtà, le uniche Celle che contengono la Formula sono quelle in "D3:D552"; considera, però, che nelle Celle "A3:C552" ho imposto una Formattazione condizionale per definire i Bordi. La Formula è: =SE($B3=0;"";SE(E($C3=0;OGGI()-$B3>30);"P";"")) Anche nel Codice VBA: - Sub cerca il Range: dovrà essere adeguato alla reale quantità da Record da valutare. Questo Range potrebbe essere adeguato in modo automatico in funzione del numero di Record realmente inseriti, ma, per il momento, ho preferito non complicare ulteriormente il Codice. Una doverosa precisazione; come indicato all'interno del Codice: - Sub Lampeggia() il Codice non è "farina del mio sacco". Ho preso spunto da un Codice pubblicato sul sito : - ennius.altervista.org adattandolo alle esigenze della Tua Richiesta. A disposizione. Buona serata. Giuseppe
Windows XP - Excel 2000
Windows 10 - Excel 2013 |
| | Post: 2.660 | Registrato il: 28/06/2011
| Città: AGORDO | Età: 70 | Utente Veteran | 2013 | | OFFLINE | |
|
01/08/2015 03:09 | |
Ciao bella gnoca. Qualcosa hai toppato?
Se apro il file dopo tot secondi mi scrive in riga (50/60) un record (dopo cancellato non lo fà più)
Forse LUI se n'e frega, io vorrei invece capire un'altra cosa?
1) VBA che non mi piace
Se fossero molti record...come faresti?
Ps. Per reclami rivolgersi al "Forum di MILANO", Soc. Ta&Ra Excel 2013 |
| | Post: 1.993 | Registrato il: 03/04/2013
| Utente Veteran | Excel 2000 - 2013 | | OFFLINE | |
|
01/08/2015 08:03 | |
Buona giornata, Raffaele; andiamo con ordine. @ raffaele1953
Se apro il file dopo tot secondi mi scrive in riga (50/60) un record (dopo cancellato non lo fà più)
Nel File in allegato a Risposta #9 ho inserito Record in Riga 3, 4, 5, 6, 7 e 46. Nel caso in cui venga lanciata la procedura, oggi, verrebbero considerati i Record in Riga 4, 7 e 46 Il Record in Riga 46 è stato inserito volutamente per testare la sequenza di For Each, quindi, credo sia corretto che, una volta cancellato, non venga più considerato. @ raffaele1953
VBA che non mi piace
Raffaele, mi dispiace, ma, senza VBA non saprei proprio come fare. Magari esistono alternative, ma, non le conosco. @ raffaele1953
Se fossero molti record...come faresti?
Come precisato in Risposta #9, il Range: dovrà essere adeguato alla reale quantità da Record da valutare. Quello che pensavo di fare è di: - indicare la Riga di partenza (attualmente "D3") in funzione della posizione del Cursore. - indicare l'ultima Riga (attualmente "D552") in funzione dell'ultimo Record valido. Nel caso in cui ci si accorga che questa selezione sia ridondante, ci si può affidare al Pulsante: - Fine @ raffaele1953
Per reclami rivolgersi al "Forum di MILANO", Soc. Ta&Ra
Raffaele, parlane con Ta; personalmente preferirei derimere la questione davanti a un piatto di risotto innaffiato da buon vino e, per finire, un bicchierino di "erba Luisa" ghiacciata. A disposizione. Buon fine settimana. Giuseppe
Windows XP - Excel 2000
Windows 10 - Excel 2013 |
| | Post: 2.661 | Registrato il: 28/06/2011
| Città: AGORDO | Età: 70 | Utente Veteran | 2013 | | OFFLINE | |
|
01/08/2015 13:01 | |
Grazie GiuseppeMN
Adesso ho capito, scusa l'intervento.
EDIT
>>>VBA che non mi piace
Intendevo dire che dovrebbero Lampeggiare tutte insieme.
Pero, mi rendo conto che mandano l'utente in tilt
EDIT
RIEDIT
>>>Raffaele, parlane con Ta
Solo ora capisco la Tua frase....., però lo sento poco attualmente.
RIEDIT
>>>Ps. Per reclami rivolgersi al "Forum di MILANO", Soc. Ta&Ra
Ra... stà per Raffaele e Ta stà per ??? [Modificato da raffaele1953 01/08/2015 13:14] Excel 2013 |
|
|