Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Segnalino in una cella indicante la presenza di un dato in un'altra cella.

72 views
Skip to first unread message

RE.MOTO

unread,
Apr 24, 2022, 6:58:48 AM4/24/22
to
Buongiorno a tutti. é trascorso molto tempo dall'ultimo mio messaggio. E con l'occasione volevo ringraziare per l'aiuto che mi stato fornito.
Vorrei intanto porre una domanda anticipata da questa introduzione:

Excel usa un segnalino (un triangolino verde nell'angolo superiore sinistro di una cella) che fa comparire quando una cella contenente una formula non è protetta. Come anche Excel fa comparire un triangolino rosso nell'angolo superiore destro di una cella quando vi è la presenza di un commento.

Sono oggetti ri-utilizzabili questi segnalini?
Pensavo a qualcosa del genere per segnalare nelle 42 celle componenti un calendario in Foglio2, la presenza di date sparse allocate in un gruppo di celle in Foglio1. Ovviamente deve esserci congruenza tra le date di Foglio1 ed i giorni di calendario di Foglio2

Grazie per il contributo che vorrete offrire.

GRA

RE.MOTO

unread,
Apr 25, 2022, 6:00:58 AM4/25/22
to
Sub CoverCommentIndicator()
'
Dim pWs As Worksheet
Dim pComment As Comment
Dim pRng As Range
Dim pShape As Shape
'
Set pWs = Application.ActiveSheet
wShp = 10
hShp = 10
'
For Each pComment In pWs.Comments
Set pRng = pComment.Parent
Set pShape = pWs.Shapes.AddShape(msoShapeRightTriangle, pRng. _
Offset(0, 1).Left - wShp, pRng.Top, wShp, hShp)
With pShape
.Flip msoFlipVertical
.Flip msoFlipHorizontal
.Fill.ForeColor.SchemeColor = 10
.Fill.Visible = msoTrue
.Fill.Solid
.Line.Visible = msoFalse
End With
Next
End Sub


In rete ho trovato questo esempio applicativo da cui ho pensato di partire con opportune modifiche da fare in itinere. La routine inserisce all'interno della cella dei "segnalini", cioè dei triangolini di cui si può modificare colore, orientamento e dimensioni, in ogni cella contenente un commento. Da qui potrei cominciare forse ...?

issdr

unread,
May 4, 2022, 7:07:29 PM5/4/22
to
"RE.MOTO" wrote:

> Pensavo a qualcosa del genere per segnalare nelle 42 celle componenti
> un calendario in Foglio2, la presenza di date sparse allocate in un
> gruppo di celle in Foglio1. Ovviamente deve esserci congruenza tra le
> date di Foglio1 ed i giorni di calendario di Foglio2

fai click destro sulla linguetta del nome di Foglio1 e incolla questo
codice:

--8<---------------cut here---------------start------------->8---
Public Sub Worksheet_Change(ByVal Target As Range)
Set calendario = Worksheets(2).UsedRange
calendario.ClearComments
For Each c In Range("intervallo")
If Not c = "" Then
For Each d In calendario
If d = c Then
d.AddComment
d.Comment.Visible = False
d.Comment.Text c.Address
Exit For
End If
Next d
End If
Next c
End Sub
--8<---------------cut here---------------end--------------->8---

definisci "intervallo" come vuoi tu, selezionando l'area che t'interessa
e definendo un nome, per esempio:

https://user.fm/files/v2-afeb6a0c029061a7dffd1dd85eb6ad2b/Appunti01.png

il tuo calendario ipotizziamo sia questo (se gli somiglia, la proprietà
UsedRange dovrebbe acchiapparlo senza problemi):

https://user.fm/files/v2-9d23e5218f9fb46a0de1fdc752bf4b80/Appunti02.png

butti delle date dentro all'intervallo:

https://user.fm/files/v2-a92cc0558fa2371079b85122c09e5c57/Appunti03.png

e vedi il risultato (il commento compare al passaggio del mouse sul
triangolino rosso, è l'indirizzo della cella in Foglio1 contenente la
data):

https://user.fm/files/v2-f2d011e5b3ea05b86cce476473c1bfee/Appunti04.png

puoi cambiare il contenuto del commento e/o l'estetica come hai visto in
rete, ma la sostanza è questa.

RE.MOTO

unread,
May 7, 2022, 5:58:05 AM5/7/22
to
Grazie per il contributo. Nel frattempo con un aiuto esterno si è riusciti a comporre qualcosa che risponde in modo adeguato sfruttando e rielaborando il codice che ho postato qui. ISSDR ovviamente mi propongo di provare questa soluzione proposta da te.
Quindi grazie tantissimo

issdr

unread,
May 7, 2022, 7:20:02 AM5/7/22
to
di nulla. fammi sapere se hai dubbi o intoppi.

ciao

RE.MOTO

unread,
May 7, 2022, 8:44:10 AM5/7/22
to
No no altroché, è molto performante. Dubbi non ne ho. Semmai mi si sono aperti scenari ... Per ora sto provando su un foglio test ... ma credo sia più leggera di quella che ho costruito con l'aiuto esterno sebbene quella che attualmente uso funziona solo ponendo dei segnalino nei giorni in cui su un altro foglio sono presenti dei dati.

E a proposito di scenari, per esempio vorrei capire se è possibile caricare nel "post it giallo" (popup Commenti) il risultato di una macro di estrazione dati che viene eseguita tutte le volte in cui seleziono il giorno del calendario.
Ecco issdr, visto che con il tuo aiuto posso generare il commento volevo capire se, ad esempio, si può caricare nel commento gli stessi risultati prodotti dalla macro di estrazione; cioè come un anticipo di lettura che avviene appunto accostando il mouse al segnalino senza selezionare la cella.

Grazie per la disponibilità ISSDR

issdr

unread,
May 7, 2022, 8:56:42 AM5/7/22
to
"RE.MOTO" wrote:

> si può caricare nel commento gli stessi
> risultati prodotti dalla macro di estrazione; cioè come un anticipo di
> lettura che avviene appunto accostando il mouse al segnalino senza
> selezionare la cella.

immagino sia fattibile, ma potrebbe diventare "costoso" in termini di
efficienza.
0 new messages