Sapete come faccio a far lampeggiare una clipart in excel ?
Qualcuno può postarmi un codice macro ?
Ciao e grazie.
Far lampeggiare una clipart con Excel
Moderatori: isex, mariobrossh, donatella
- isex
- Moderator Senior
- Messaggi: 1781
- Iscritto il: ven 03 ott 2008 11:07 pm
- Località: Messina - Palermo
Far lampeggiare una clipart con Excel
ISEX - Acronimo di Industrial Systems Expert (Esperto di Sistemi Industriali).
Think Safe! Work Safe!
Think Safe! Work Safe!
- mariobrossh
- Moderator Maximo
- Messaggi: 17225
- Iscritto il: lun 17 ago 2009 9:11 am
- Località: Cosenza
Guarda se riesci ad adattare questo codice trovato in rete
Fare lampeggiare una cella usando la proprietà : stile
Per creare una cella che lampeggia si deve creare una macro
Dovete definire un nuovo stile (formato / stile / lampeggia / Aggiungi)
Impore questo stile per le celle che volete fare "lampeggiare", ed incollate il codice seguente
in un modulo foglio ed avviate la procedura "lampeggio" dal
luogo dove volete che il testo lampeggia in bianco e rosso
Dim NextTime As Date
Sub lampeggia()
NextTime = Now + TimeValue("00:00:01")
With ActiveWorkbook.Styles("lampeggia").Font
If .ColorIndex = 2 Then .ColorIndex = 3 Else .ColorIndex = 2
End With
Application.OnTime NextTime, "lampeggia"
End Sub
Sub StopIt()
Application.OnTime NextTime, "lampeggia", schedule:=False
ActiveWorkbook.Styles("Flash").Font.Co… = xlAutomatic
End Sub
...........
la macro permette di fare lampeggiare la cella attiva
Ogni tot secondi
avviando InitFlash
'======Nel un modulo normale
Public OrigBkgCol As Long, OrigTxtCol As Long
Public OldCell As Range
Sub InitFlash()
Set OldCell = ActiveCell
OrigBkgCol = ActiveCell.Interior.ColorIndex
OrigTxtCol = ActiveCell.Font.ColorIndex
Application.OnTime Now + TimeValue("00:00:01"), "Flash"
End Sub
Sub Flash()
If ActiveCell.Interior.ColorIndex < 0 Then
ActiveCell.Interior.ColorIndex = 1 'colore fondo nero
ActiveCell.Font.ColorIndex = 2 'colore testo bianco
Else
ActiveCell.Interior.ColorIndex = (ActiveCell.Interior.ColorIndex + 1) Mod 2
ActiveCell.Font.Color = 1
End If
Application.OnTime Now + TimeValue("00:00:01"), "Flash"
End Sub
=======A copiare nel visual basic editor, nel foglio
dove desiderate fare lampeggiare una cella
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
' On Error GoTo zut
' OldCell.Interior.ColorIndex = OrigBkgCol
' OldCell.Font.ColorIndex = OrigTxtCol
' OrigBkgCol = Target.Interior.ColorIndex
' OrigTxtCol = Target.Font.ColorIndex
' Set OldCell = Target
'zut:
'End Sub
---------
Creare una macro utilizzando Microsoft Visual Basic
1. Dal menu Strumenti di Microsoft Excel, scegliere Macro, quindi Editor di Visual Basic.
2. Scegliere Modulo dal menu Inserisci.
3. Digitare o copiare il codice nella finestra del codice del modulo.
4. Per eseguire la macro (macro: Azione o gruppo di azioni che è possibile utilizzare per automatizzare le attività. Le macro vengono registrate nel linguaggio di programmazione di Visual Basic, Applications Edition.) dalla finestra del modulo, premere F5.
5. Una volta scritta la macro, scegliere Chiudi e torna a Microsoft Excel dal menu File.
Fonti:
http://office.microsoft.com/it-it/excel/…
Fare lampeggiare una cella usando la proprietà : stile
Per creare una cella che lampeggia si deve creare una macro
Dovete definire un nuovo stile (formato / stile / lampeggia / Aggiungi)
Impore questo stile per le celle che volete fare "lampeggiare", ed incollate il codice seguente
in un modulo foglio ed avviate la procedura "lampeggio" dal
luogo dove volete che il testo lampeggia in bianco e rosso
Dim NextTime As Date
Sub lampeggia()
NextTime = Now + TimeValue("00:00:01")
With ActiveWorkbook.Styles("lampeggia").Font
If .ColorIndex = 2 Then .ColorIndex = 3 Else .ColorIndex = 2
End With
Application.OnTime NextTime, "lampeggia"
End Sub
Sub StopIt()
Application.OnTime NextTime, "lampeggia", schedule:=False
ActiveWorkbook.Styles("Flash").Font.Co… = xlAutomatic
End Sub
...........
la macro permette di fare lampeggiare la cella attiva
Ogni tot secondi
avviando InitFlash
'======Nel un modulo normale
Public OrigBkgCol As Long, OrigTxtCol As Long
Public OldCell As Range
Sub InitFlash()
Set OldCell = ActiveCell
OrigBkgCol = ActiveCell.Interior.ColorIndex
OrigTxtCol = ActiveCell.Font.ColorIndex
Application.OnTime Now + TimeValue("00:00:01"), "Flash"
End Sub
Sub Flash()
If ActiveCell.Interior.ColorIndex < 0 Then
ActiveCell.Interior.ColorIndex = 1 'colore fondo nero
ActiveCell.Font.ColorIndex = 2 'colore testo bianco
Else
ActiveCell.Interior.ColorIndex = (ActiveCell.Interior.ColorIndex + 1) Mod 2
ActiveCell.Font.Color = 1
End If
Application.OnTime Now + TimeValue("00:00:01"), "Flash"
End Sub
=======A copiare nel visual basic editor, nel foglio
dove desiderate fare lampeggiare una cella
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
' On Error GoTo zut
' OldCell.Interior.ColorIndex = OrigBkgCol
' OldCell.Font.ColorIndex = OrigTxtCol
' OrigBkgCol = Target.Interior.ColorIndex
' OrigTxtCol = Target.Font.ColorIndex
' Set OldCell = Target
'zut:
'End Sub
---------
Creare una macro utilizzando Microsoft Visual Basic
1. Dal menu Strumenti di Microsoft Excel, scegliere Macro, quindi Editor di Visual Basic.
2. Scegliere Modulo dal menu Inserisci.
3. Digitare o copiare il codice nella finestra del codice del modulo.
4. Per eseguire la macro (macro: Azione o gruppo di azioni che è possibile utilizzare per automatizzare le attività. Le macro vengono registrate nel linguaggio di programmazione di Visual Basic, Applications Edition.) dalla finestra del modulo, premere F5.
5. Una volta scritta la macro, scegliere Chiudi e torna a Microsoft Excel dal menu File.
Fonti:
http://office.microsoft.com/it-it/excel/…
Condividere un'idea è sempre una buona idea 
Se non hai ancora risolto...
Prendendo lo spunto dalle macro suggerite da mario:
Metti questo codice in un Modulo del vba
Poi assegna un "tasto di scelta breve" alle macro (da excel: alt-F8, seleziona Lampeggia dall' elenco, premi Opzioni, inserisci A, come Avvia, e conferma con Ok; ripeti con StopIt assegnando S come Stop)
Ancora: assegna alla clipart che vuoi far lampeggiare il nome usato nella macro: fai Maiusc-click sull' immagine; nella "Casella nome" (quella a sx della barra della formula) ti compare il nome corrente; scrivi myclip, enter.
A questo punto avviando la macro con Contr-Maiusc-a la clip dovrebbe lampeggiare ogni N secondi (come specificato nella TimeValue), e con Contr-Maiusc-S dovrebbe stabilizzarsi.
Oppure assegni le macro a 2 pulsanti.
Ciao, fai sapere.
Prendendo lo spunto dalle macro suggerite da mario:
Metti questo codice in un Modulo del vba
Codice: Seleziona tutto
Dim NextTime As Date '<<< DEVE ESSERE la prima riga del modulo; (c)-47
Sub lampeggia()
If ActiveSheet.Shapes("myclip").Visible = True Then
ActiveSheet.Shapes("myclip").Visible = False
Else
ActiveSheet.Shapes("myclip").Visible = True
End If
NextTime = Now + TimeValue("00:00:01")
Application.OnTime NextTime, "lampeggia"
End Sub
Sub StopIt()
Application.OnTime NextTime, "lampeggia", schedule:=False
ActiveSheet.Shapes("myclip").Visible = True
End Sub
Ancora: assegna alla clipart che vuoi far lampeggiare il nome usato nella macro: fai Maiusc-click sull' immagine; nella "Casella nome" (quella a sx della barra della formula) ti compare il nome corrente; scrivi myclip, enter.
A questo punto avviando la macro con Contr-Maiusc-a la clip dovrebbe lampeggiare ogni N secondi (come specificato nella TimeValue), e con Contr-Maiusc-S dovrebbe stabilizzarsi.
Oppure assegni le macro a 2 pulsanti.
Ciao, fai sapere.
Formica