Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Ciao Mauro
per i prossimi post cercherò di essere più preciso,per quanto riguarda il tuo "non vedo la difficoltà..." devi perdonarmi ma già nel mio primo post (http://social.answers.microsoft.com/Forums/it-IT/officeexcelit/thread/4a4017e2-175d-470c-865c-b4e3c14d2ff3) avevo avvisato che ho appena incominciato ad usare le macro perciò naturalmente certe cose che per voi sono banali per me non lo sono e devo ragionarci su un bel pò....Detto ciò io comunque vi ringrazio perchè ci date una mano,chiedo solo se possibile un pò di pazienza.
Tornando a noi... il codice che mi hai dato funziona bene però,come avevo scritto inizialmente quando passo col puntatore del mouse sopra alle celle,
dello stesso foglio ,che contengono dei commenti nascosti,questi lampeggiano anzichè rimanere visibili e fissi e la cosa è molto fastidiosa
Non so se possibile ma chiedo se si può eliminare solo il lampeggio dei commenti (mentre la cella C2 deve continuare a lampeggiare)
grazie
Con questo codice modificato, lo vedi solo una volta, come è ovvio se hai scelto di visualizzare i commenti:
Public Sub mColore()
Dim sh As Worksheet
Set sh = ThisWorkbook.Worksheets("Foglio1")
With sh.Range("C2")
.Comment.Visible = False
With .Interior
If .ColorIndex = 5 Then
.ColorIndex = 2
Else
.ColorIndex = 5
End If
End With
End With
Set sh = Nothing
Call mTimer
End Sub
Se li vuoi il commento fisso:
Public Sub mColore()
Dim sh As Worksheet
Set sh = ThisWorkbook.Worksheets("Foglio1")
With sh.Range("C2")
.Comment.Visible = True
With .Interior
If .ColorIndex = 5 Then
.ColorIndex = 2
Else
.ColorIndex = 5
End If
End With
End With
Set sh = Nothing
Call mTimer
End Sub
O forse meglio riscrivendo quasi tutto:
Dim bln As Boolean
Public Sub mStart()
bln = True
Call mTimer
End Sub
Public Sub mStop()
bln = False
End Sub
Public Sub mTimer()
If bln = True Then
Application.OnTime Now + TimeValue("00:00:03"), "mColore"
ElseIf bln = False Then
mNascondiCommenti
End If
End Sub
Public Sub mColore()
Dim sh As Worksheet
Set sh = ThisWorkbook.Worksheets("Foglio1")
With sh.Range("C2")
.Comment.Visible = True
With .Interior
If .ColorIndex = 5 Then
.ColorIndex = 2
Else
.ColorIndex = 5
End If
End With
End With
Set sh = Nothing
Call mTimer
End Sub
Public Sub mNascondiCommenti()
Dim sh As Worksheet
Dim cmt As Comment
Set sh = ThisWorkbook.Worksheets("Foglio1")
For Each cmt In sh.Comments
cmt.Visible = False
Next
Set cmt = Nothing
Set sh = Nothing
End Sub
--
La soluzione, il codice ed i files sono forniti *così come sono* e l’autore declina ogni responsabilità per eventuali problemi causati dalla soluzione proposta se usata impropriamente. Create e utilizzate una copia del file per le vostre prove, *prima* di utilizzare la soluzione in files importanti.
--
Mauro Gamberini - Microsoft© MVP(Excel)