Condividi:        

commento cella con formula

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

commento cella con formula

Postdi wallace&gromit » 14/04/17 08:20

Ciao,
ho una tabella con dei dati mensili di vari anni.
Nell'ultima riga denominata "delta" inserisco la differenza tra l'anno in corso e il massimo del valore corrispondente nella lista degli anni precedenti.
Vorrei che, passando con il mouse su qualsiasi cella della riga delta (o anche cliccandoci) io veda in un commento su quale anno si sta facendo il confronto, così come indicato nella riga sottostante dell'esempio che trovate qui http://www.filedropper.com/commenticellemassimo, che alla fine vorrei potere togliere.
Avete qualche idea?

P.S. vorrei, se possibile, evitare le macro (ma forse qui chiedo troppo) e i formati condizionali (tipo evidenziare la cella in cui è presente il valore massimo... soluzione troppo semplicistica :D ).
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2180
Iscritto il: 16/01/12 14:21

Sponsor
 

Re: commento cella con formula

Postdi alfrimpa » 14/04/17 14:04

Ciao Wallace

Secondo me senza VBA non se ne parla nemmeno :)

L'oggetto Worksheet, a quanto ne so, non ha l'effetto MouseMove per cui bisogna ricorrere a dei workaround.

Intanto prova a guardare questo video magari ne trai qualche utile spunto.

https://m.youtube.com/watch?v=tt63kgNKwfg
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: commento cella con formula

Postdi Marius44 » 14/04/17 21:14

Ciao

sono d'accordo con Alfredo, è necessario il ricorso a VBA

Se ti va bene prova con questa macro
Codice: Seleziona tutto
Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim c As Long, num As Double, rg As Long
If Not Intersect(Target, Range("B18:M18")) Is Nothing Then
    If Target.Value = "" Then Exit Sub
    c = Target.Column
    num = Cells(17, c) + Abs(Cells(18, c))
    rg = Application.WorksheetFunction.Match(num, Range(Cells(2, Target.Column), Cells(16, Target.Column)), 0)
    Range(Cells(2, 1), Cells(16, 1)).Interior.ColorIndex = xlNone
    Cells(rg, 1).Interior.ColorIndex = 3
End If
End Sub


Come hai capito funziona selezionando una cella della riga 18 e risponde colorando l'anno ineteressato.

Ciao,
Mario
Marius44
Utente Senior
 
Post: 658
Iscritto il: 07/09/15 22:00

Re: commento cella con formula

Postdi wallace&gromit » 17/04/17 21:04

Eccomi qui, la pasquetta porta consiglio!
Ho attinto a piene mani dalla macro di Mario e ho ottenuto qualcosa che mi piace alquanto:
Codice: Seleziona tutto
Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim c As Long, num As Double, rg As Long, UR As Integer

UR = Foglio1.Cells(Rows.Count, 1).End(xlUp).Row
If Not Intersect(Target, Range(Cells(UR, 1), Cells(UR, 13))) Is Nothing Then
    If Target.Value = "" Then Exit Sub
    c = Target.Column
    num = Application.WorksheetFunction.Max(Range(Cells(2, c), Cells(UR - 1, c)))
    rg = Application.WorksheetFunction.Match(num, Range(Cells(2, c), Cells(16, c)), 0)
    Range(Cells(2, 1), Cells(16, 13)).Interior.ColorIndex = xlNone
    Cells(rg + 1, 1).Interior.ColorIndex = 3
    Cells(rg + 1, c).Interior.ColorIndex = 3
    Range(Cells(1, 1), Cells(UR, 13)).ClearComments
    Cells(UR, c).AddComment
    Cells(UR, c).Comment.Text Text:=Str(Cells(UR, c) - num)

End If
End Sub

Ho tolto la riga in fondo denominata "delta", quindi i dati in fondo si riferiscono all'anno in corso e il riferimento si aggiorna automaticamente ogni anno.
Cliccando sul mese che mi interessa vedo evidenziato l'anno in cui era stato registrato il massimo fino a lì e, in un commento, il valore della differenza tra l'anno in corso e quel valore di massimo, forte!
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2180
Iscritto il: 16/01/12 14:21

Re: commento cella con formula

Postdi wallace&gromit » 18/04/17 07:15

ho aggiunto ancora queste istruzioni per cancellare tutto quando clicco in un'area diversa:
Codice: Seleziona tutto
    Else:
    Range(Cells(2, 1), Cells(16, 13)).Interior.ColorIndex = xlNone
    Range(Cells(1, 1), Cells(UR, 13)).ClearComments

All'inizio del codice ho anche aggiunto un comando "on error resume next" per potere selezionare l'ultima riga intera senza andare in errore.
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2180
Iscritto il: 16/01/12 14:21


Torna a Applicazioni Office Windows


Topic correlati a "commento cella con formula":


Chi c’è in linea

Visitano il forum: Nessuno e 10 ospiti