|
|
|
|
Strumenti |
10-03-2009, 15:13 | #1 |
Junior Member
Iscritto dal: Mar 2009
Messaggi: 5
|
[VBA] Fare lampeggiare una cella di excel
salve a tutti !
sono un utente nuovo del forum ! ho un problema al lavoro con il foglio elettronico excel. mi tornerebbe utile inserire una macro in VBA che mi faccia lampeggiare alcune celle quando un valore si avvicina ad un'altro ( targhet ) faccio un esempio : ho un serie di valori " Targhet " da raggiungere situati da C3 compreso a C16 compreso, e ho dei dati di produzione che non devono superare i targhet situati da G3 compreso a G 16 compreso qualcuno mi può aiutare ??? Thanks Luca: |
10-03-2009, 19:23 | #2 |
Senior Member
Iscritto dal: Apr 2001
Città: Giovinazzo(BA) ...bella città, riso patat e cozz a volontà!
Messaggi: 26480
|
Ti sposto in Programmazione, dovresti ottenere più facilmente una risposta Corretto anche il titolo con il tag [VBA]
__________________
Ezio Lacandia on DeviantArt | Slimkat mod per N4 e N5 | Trattative mercatino HWU | Driver nForce NET Framework [Guida] | BSOD individuazione cause | Guida Sintetica Strap/Divisori P45 | Fix associazioni Vista/7 Problemi Win Installer | Avviare programmi senza richiesta UAC | Problemi Font | Guida Raccolte 7 | Win 32/64bit come perchè |
11-03-2009, 09:12 | #3 |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3208
|
In Excel VBA c'è il metodo Application.OnTime. Non esiste un vero e proprio oggetto Timer, e molti pensano che volutamente Ms osteggi questa possibilità per non permettere agli utenti di trasformare un foglio elettronico in un albero di Natale...
A mio avviso non è buona pratica inserire testi o celle lampeggianti, in quanto disturbano parecchio la vista ( personalmente detesto leggere ad es. una pagina web con roba che lampeggia o mi salta davanti... ). Detto questo, il modo c'è comunque e puoi ottenerlo ad esempio usando queste Function che mi sono fatto io, parametrizzando un esempio trovato sul web... Lascio poi a te l'implementazione : In un modulo : Codice:
Public istanteCambio As Double Public Sub lampeggiaON(nomeFoglio As String, indirizzo As String) If Sheets(nomeFoglio).Range(indirizzo).Interior.ColorIndex = 3 Then Sheets(nomeFoglio).Range(indirizzo).Interior.ColorIndex = 2 Else Sheets(nomeFoglio).Range(indirizzo).Interior.ColorIndex = 3 End If istanteCambio = Now + TimeSerial(0, 0, 1) Dim strProcedura As String strProcedura = ThisWorkbook.Name & "!'lampeggiaON " & """" & nomeFoglio & """" & "," & """" & indirizzo & """" & "'" Application.OnTime istanteCambio, strProcedura, , True End Sub Public Sub lampeggiaOFF(nomeFoglio As String, indirizzo As String) Sheets(nomeFoglio).Range(indirizzo).Interior.ColorIndex = xlNone Dim strProcedura As String strProcedura = ThisWorkbook.Name & "!'lampeggiaON " & """" & nomeFoglio & """" & "," & """" & indirizzo & """" & "'" Application.OnTime istanteCambio, strProcedura, , False End Sub Codice:
lampeggiaON "Foglio1", "A1" lampeggiaOFF "Foglio1", "A1" |
11-03-2009, 14:07 | #4 |
Junior Member
Iscritto dal: Mar 2009
Messaggi: 5
|
VBA fare lampeggiare un cella di excel
ciao Marco GG
ti ringrazio anzitempo per la tua risposta ed il tuo tempismo, ne approffitterei quindi per dirti che io di macro non ne capisco niente, ti chiederei quindi un'enorme sforzo !! potresti dirmi point to point come inserire la tua macro e sopratutto cosa devo implementare ? il mio foglio di lavoro ( sheet) si chiama : dati dove devo inserire i nomi delle celle nelle quali devo mettere la condizione ? considera che io devo dire : se G3>= di C3 , G3 dovrebbe lampeggiare se G4>= di C4 , G4 dovrebbe lampeggiare se G5>= di C5 , G5 dovrebbe lampeggiare etc. fino alla riga 16 compreso per quello che riguarda "l'albero di natale " ti ringrazio per la tua impressione , ma mi piacerebbe fare il foglio elettronico "appariscente" solo per fare un bella figura con il mio capo !! lui va matto per queste cose grazie ancora per la tua pazienza !! LOMBOLUCA |
11-03-2009, 15:16 | #5 |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3208
|
Eh, lo so, ma allora dovrei farti tutto io...
Comunque sia, sconsiglio caldamente di riempire il Foglio con celle che lampeggiano, in quanto le procedure OnTime sono potenzialmente dannose. La selezione e l'edit del Foglio ne potrebbero risentire, senza parlare del fatto che, in presenza di un numero elevato di eventi OnTime, Excel potrebbe anche andare in blocco... Non ci faresti una gran figura col capo. Molto meglio in questi casi creare un'applicazione VB6 o VB NET, che hanno un supporto alle operazioni temporizzate decisamente superiore, e un'ottima gestione dei files Excel... |
20-03-2009, 16:23 | #6 |
Junior Member
Iscritto dal: Mar 2009
Messaggi: 5
|
grazie comunque di tutto,
io ci rinuncio e getto la spugna grazie ancora Marco GG LOMBOLUCA |
05-04-2009, 00:12 | #7 | |
Member
Iscritto dal: Jul 2004
Messaggi: 94
|
Quote:
Marco mi interessa molto questa cosa. Io la vorrei applicare ad una cella dove controlla la percentuale di un dato, ora mi interessa se lampeggia arrivando ad una certa percentuale tipo il 25%. Altra cosa mi scrivi la formula esatta usanto : nome foglio = Foglio1 Cella esito controllo = D1 Cella controllo =IV404 Resto in attesa Thx |
|
05-04-2009, 22:37 | #8 | |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3208
|
Quote:
Codice:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Range("A1").Value >= 0.25 Then On Error Resume Next lampeggiaON "Foglio1", "A1" Else On Error Resume Next lampeggiaOFF "Foglio1", "A1" End If End Sub La cella da far lampeggiare ( parametro passato a lampeggiaON e lampeggiaOFF ) è sempre "A1", il Foglio è "Foglio1". E ho risposto anche alla seconda domanda... |
|
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:27.