› Sviluppare funzionalita su Microsoft Office con VBA › Aggiungere un commento (e non nota) in VBA O aggiungere informazioni alla nota
-
AutoreArticoli
-
Gentilissimi,
ho provato a far girare questo...
Worksheets(1).Range("E5").AddCommentThreaded "nuovo commento"Tratto da qui -->
https://docs.microsoft.com/en-us/office/vba/api/excel.range.addcommentthreaded#exampleMa niente da fare.
Ho provato anche registrare la macro e a ripeterla. Non ho capito se il mio excel ha qualche limitazione preimpostata oppure, banalmente, VBA non può produrre commenti filettati (o, meglio, commenti).
Avevo intenzione di utilizzare questa funzione perché necessito di un codice che mi permetta di inserire, in fasi successive, note nella stessa cella senza che il contenuto già esistente venga cancellato o sovrascritto. Spero possiate aiutarmi.
commenti filettati
Cosa sono i commenti filettati?
Che versione di Excel usi? E' un metodo nuovo per me, non l'ho mai visto.
un codice che mi permetta di inserire, in fasi successive, note nella stessa cella senza che il contenuto già esistente venga cancellato o sovrascritto
Puoi sempre scriverti la tua propria funzione che faccia ciò.
Credo sia office 365 - ad ogni modo una delle ultimissime versioni. Per queste, infatti, è stata operata una differenziazione tra note e commenti.
Le prime sono i "classici" commenti a cui eravamo abituati (riquadro giallo, modificabile graficamente). I commenti ora, invece, risultano essere una serie di messaggi dalla struttura grafica bloccata che hanno la forma di un botta-risposta a mo' di social sulla singola casella. Quindi più utenti possono inserire questi commenti filettati.
Come poter scrivere un codice ad hoc? .Addcomment mi sovrascrive il contenuto...
Ieri sera in attesa di tue nuove ho buttato giù un pezzo di codice che però tratta i commenti semplici, non questi di nuova generazione. presumo però che funzioni in modo molto simile. Prova a utilizzarlo e vedi cosa succede. E' una subroutine quindi la puoi richiamare dal codice (per test: anche in finestra Immediata) passando in argomento la cella in cui inserire il commento, il testo, ed eventualmente il parametro per cancellare il commento esistente. I commenti si aggiungono ai commenti esistenti.
Sub set_comment(r As Range, s As String, Optional delete As Boolean = False) 'utilizzo: 'set_comment activecell, "hello" 'set_comment ActiveCell, "world" 'set_comment ActiveCell, "", True Dim co As String s = Trim(s) If s = "" Then Exit Sub If Not (r.Comment Is Nothing) Then co = r.Comment.Text: r.Comment.delete If delete Then Exit Sub With r.AddComment .Visible = False .Text co & vbNewLine & s End With End Sub -
AutoreArticoli
