Pagina 1 di 1

Far lampeggiare una clipart con Excel

Inviato: mer 16 dic 2009 8:19 pm
da isex
Sapete come faccio a far lampeggiare una clipart in excel ?
Qualcuno può postarmi un codice macro ?

Ciao e grazie.

Inviato: dom 20 dic 2009 10:42 am
da mariobrossh
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/

Inviato: ven 01 gen 2010 5:57 pm
da Formica
Se non hai ancora risolto...
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

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.

Inviato: dom 03 gen 2010 9:05 am
da isex
grazie della risposta. Ci provo e ti farò sapere non appena rientro in ufficio. :D