View Full Version : EXCEL 2003: far lampeggiare una cella
fmasta56
28-07-2008, 17:26
Qualcuno sa se è possibile far lampeggiare una cella in funzione di un'altra in Excel 2003? Mi spiego: vorrei che, se la cella A1 contiene un numero qualsiasi, la cella E1 deve lampeggiare per indicarmi che devo inserire il dato richiesto (e così anche la cella F1). E' possibile farlo?
JamalWallas
28-07-2008, 17:59
Non è semplice, bisogna scrivere un po' di codice in VB, cerca su google " cell blink excel " e vedrai che salta fuori qualcosa di interessante :)
mi sembra una cosa davvero inutile :D:D
falla colorare e basta!!
fmasta56
29-07-2008, 07:34
mi sembra una cosa davvero inutile :D:D
falla colorare e basta!!
E' un foglio molto complesso, dove la formattazione condizionale è già applicata a molte altre celle (che, appunto, cambiano colore)...se quelle due lampeggiassero, attirerebbero subito l'attenzione! Mi sa che tengo tutto così e ci rinuncio (codice VBA? Troppo complesso...!). :mc: :mc: :muro:
E' un foglio molto complesso, dove la formattazione condizionale è già applicata a molte altre celle (che, appunto, cambiano colore)...se quelle due lampeggiassero, attirerebbero subito l'attenzione! Mi sa che tengo tutto così e ci rinuncio (codice VBA? Troppo complesso...!). :mc: :mc: :muro:
no, la cosa è fattibile abbastanza semplicemente
http://en.allexperts.com/q/Excel-1059/formulas-blinking-flashing-results.htm
dai un occhio qui e ce la fai in un minuto....l'ho appena provato,
basta che setti nella prima parte il RANGE corretto e nell'altra parte il ColorIndex che ti piace
http://www.mvps.org/dmcritchie/excel/colors.htm
alla fine "riavvia" il foglio
fmasta56
29-07-2008, 09:15
no, la cosa è fattibile abbastanza semplicemente
http://en.allexperts.com/q/Excel-1059/formulas-blinking-flashing-results.htm
dai un occhio qui e ce la fai in un minuto....l'ho appena provato,
basta che setti nella prima parte il RANGE corretto e nell'altra parte il ColorIndex che ti piace
http://www.mvps.org/dmcritchie/excel/colors.htm
alla fine "riavvia" il foglio
Scusa l'ignoranza, ma nel link che mi hai dato dice:
I would like to have my formula (blink or flash the results. Example:
Cell A8: Size of rope eye Cell B8:key in size.
Then at Cell B10:
+IF(AND(B8=" "),"SIZE OF ROPE EYE CANNOT BE BLANK"," ")
If cell B8 is blank, I would like SIZE OF ROPE EYE CANNOT BE BLANK To blink or flash in cell B10.
Non ho una grande dimestichezza con l'inglese, ma copiando la formula in una cella mi da un errore di formula, come è ovvio: come devo tradurla in italiano?
E' sicuramente una formula del tipo =SE(....) ma non l'ho trovata tra quelle precomposte...
Scusa l'ignoranza, ma nel link che mi hai dato dice:
I would like to have my formula (blink or flash the results. Example:
Cell A8: Size of rope eye Cell B8:key in size.
Then at Cell B10:
+IF(AND(B8=" "),"SIZE OF ROPE EYE CANNOT BE BLANK"," ")
If cell B8 is blank, I would like SIZE OF ROPE EYE CANNOT BE BLANK To blink or flash in cell B10.
Non ho una grande dimestichezza con l'inglese, ma copiando la formula in una cella mi da un errore di formula, come è ovvio: come devo tradurla in italiano?
E' sicuramente una formula del tipo =SE(....) ma non l'ho trovata tra quelle precomposte...
sono 2 cose separate...
nella cella b8 ci devi mettere qualsiasi formula vuoi che ti dia un risultato diverso da "" in questo caso...
e poi c'è tutta la funzione che gestisce il blink della cella b10...
la funzione per la cella b8 devi metterla tu...ma anche se inserisci un numero a manina la cella b10 smette di lampeggiare...
capito?
fmasta56
29-07-2008, 11:35
sono 2 cose separate...
nella cella b8 ci devi mettere qualsiasi formula vuoi che ti dia un risultato diverso da "" in questo caso...
e poi c'è tutta la funzione che gestisce il blink della cella b10...
la funzione per la cella b8 devi metterla tu...ma anche se inserisci un numero a manina la cella b10 smette di lampeggiare...
capito?
Non proprio...nella cella B8 non metto nessuna formula, per il momento, ma inserisco un dato manualmente. Quella che non capisco, e non funziona copiandola, è la formula da mettere in B10. Io ho provato con
=SE(AND(B8>0),"SIZE OF ROPE EYE CANNOT BE BLANK"," ") ma non va (secondo me va tradotta in italiano, ma non so che significa quella frase lì)
Non proprio...nella cella B8 non metto nessuna formula, per il momento, ma inserisco un dato manualmente. Quella che non capisco, e non funziona copiandola, è la formula da mettere in B10. Io ho provato con
=SE(AND(B8>0),"SIZE OF ROPE EYE CANNOT BE BLANK"," ") ma non va (secondo me va tradotta in italiano, ma non so che significa quella frase lì)
in b10 non devi mettere nulla :D
fmasta56
29-07-2008, 16:25
in b10 non devi mettere nulla :D
Quindi, non funziona...
Quindi, non funziona...
riesci a postare il foglio?
fmasta56
29-07-2008, 17:04
riesci a postare il foglio?
Credo di aver capito il problema: non avevo visto la risposta sotto nel link che avevi scritto! Però quel codice VBA non so proprio dove metterlo...non conosco Excel a quel punto (e, giusto per farti contento, non ho mai adoperato nemmeno le macro...!). Se vuoi posso postare una parte del foglio, tutto sarebbe troppo lungo...ma come si fa?
Credo di aver capito il problema: non avevo visto la risposta sotto nel link che avevi scritto! Però quel codice VBA non so proprio dove metterlo...non conosco Excel a quel punto (e, giusto per farti contento, non ho mai adoperato nemmeno le macro...!). Se vuoi posso postare una parte del foglio, tutto sarebbe troppo lungo...ma come si fa?
tasto destro sulla linguetta del foglio sotto -> codice e incolli questo
Private Sub Worksheet_Calculate()
If Range("B8").Value = "" Then
Blink "B10"
Else
Range("B10").Interior.ColorIndex = 0
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Application.Run Me.CodeName & ".Worksheet_Calculate"
End Sub
poi fai inserisci modulo e incolli questo
Sub Blink(cell As String)
If Range(cell).Interior.ColorIndex = 6 Then
Range(cell).Interior.ColorIndex = 0
Else
Range(cell).Interior.ColorIndex = 6
End If
Application.OnTime Now + 1 / 86400, "doagain"
End Sub
Sub DoAgain()
Application.Run Sheets("Sheet1").CodeName & ".Worksheet_Calculate"
End Sub
fmasta56
29-07-2008, 17:15
Ho fatto come dici (ma non vorrei crearti disturbo, sta diventando una cosa complicata), incollando i due codici dove dici: e ora? Ho salvato il file come CARTEL3, ma qualsiasi dato metto in B8, B10 resta vuota e non lampeggia...
Ho fatto come dici (ma non vorrei crearti disturbo, sta diventando una cosa complicata), incollando i due codici dove dici: e ora? Ho salvato il file come CARTEL3, ma qualsiasi dato metto in B8, B10 resta vuota e non lampeggia...
hai chiuso e riaperto il foglio?
prova magari a farlo su un foglio vuoto prima ;)
fmasta56
29-07-2008, 17:25
hai chiuso e riaperto il foglio?
prova magari a farlo su un foglio vuoto prima ;)
Sì, sto lavorando su una nuova cartella vuota: dopo aver incollato i due codici, chiudo tutto (mi dice di salvare CARTEL4 e dico sì), poi riapro CARTEL4, metto un qualsiasi numero in B8 ma in B10 non accade niente (nemmeno inserendo un dato qualsiasi):mc:
Sì, sto lavorando su una nuova cartella vuota: dopo aver incollato i due codici, chiudo tutto (mi dice di salvare CARTEL4 e dico sì), poi riapro CARTEL4, metto un qualsiasi numero in B8 ma in B10 non accade niente (nemmeno inserendo un dato qualsiasi):mc:
allega il foglio come zip
fmasta56
30-07-2008, 10:51
allega il foglio come zip
E' una cartella vuota, nuova, creata appositamente...te la allego (creata con Excel 2003).
E' una cartella vuota, nuova, creata appositamente...te la allego (creata con Excel 2003).
è un problema di lingua nel senso che nella seconda parte di codice
Sub Blink(cell As String)
If Range(cell).Interior.ColorIndex = 6 Then
Range(cell).Interior.ColorIndex = 0
Else
Range(cell).Interior.ColorIndex = 6
End If
Application.OnTime Now + 1 / 86400, "doagain"
End Sub
Sub DoAgain()
Application.Run Sheets("Sheet1").CodeName & ".Worksheet_Calculate"
End Sub
fa riferimento al foglio di lavoro come Sheet1
nella tua cartella invece il foglio si chiama appunto Foglio1
Sub Blink(cell As String)
If Range(cell).Interior.ColorIndex = 6 Then
Range(cell).Interior.ColorIndex = 0
Else
Range(cell).Interior.ColorIndex = 6
End If
Application.OnTime Now + 1 / 86400, "doagain"
End Sub
Sub DoAgain()
Application.Run Sheets("Foglio1").CodeName & ".Worksheet_Calculate"
End Sub
banalmente modificalo così...salva...chiudi e riapri e vedi che funziona :)
fmasta56
30-07-2008, 13:14
Applicato alla cartella vuota, con solo il FOGLIO 1, quasi funziona: però B10 lampeggia solamente se ha un dato dentro e se B8 è vuota (a me invece serve che lampeggi se B8 contiene un dato numerico e B10 è vuota, per richiamare l'attenzione sull'introduzione di una data in essa).
Ho poi provato a copiare con la medesima procedura che hai indicato, entrambi i codici nella cartella di lavoro che uso (che ha 10 fogli all'interno, nominati diversamente e con dati diversi, ma con più collegamenti tra alcuni di tali fogli): ho sostituito, come hai detto tu, il nome FOGLIO1 con quello del foglio dove applicare la macro, ma non funziona (anzi, mi da errore 400 di debug). Naturalmente, ho salvato la cartella con un nome diverso, per evitare di combinare guai sulla mia, ho salvato, chiuso tutto e riaperto...ma non va!:muro:
fmasta56
30-07-2008, 13:28
Inoltre ora EXCEL mi chiede di attivare la macro ogni volta che apro un qualsiasi foglio o cartella: non si può disattivare? Anche se apro il file originale (quello che volevo modificare e ho salvato anche con un altro nome) mi fa la stessa domanda: io non voglio nessuna macro, quì, almeno fino a quando non funziona come dovrebbe....
Inoltre ora EXCEL mi chiede di attivare la macro ogni volta che apro un qualsiasi foglio o cartella: non si può disattivare? Anche se apro il file originale (quello che volevo modificare e ho salvato anche con un altro nome) mi fa la stessa domanda: io non voglio nessuna macro, quì, almeno fino a quando non funziona come dovrebbe....
prova ad aprire un foglio vuoto e andare a vedere nel menù delle macro cosa c'è di attivo...
ci stavo guardando anche io su sta roba del blink delle celle...
purtroppo mi pare davvero un casino...
se hai voglia di farlo per imparare ok...se devi farlo per quel lavoro ti consiglio di lasciar perdere :boh:
fmasta56
30-07-2008, 16:18
Infatti lascio perdere, troppo complicato...cmq grazie per il supporto notevole e alla prossima....
Infatti lascio perdere, troppo complicato...cmq grazie per il supporto notevole e alla prossima....
già tempo fa ci guardavo....te l'avevo anticipato che era una cosa un po assurda...
magari tra anni ci guarderò....oppure mando un pvt a guldo che risolve in un secondo :D:D
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.