Inserimento automatico del testo in un commento (Microsoft Excel)
Grant ha una cella in un foglio di lavoro che quando qualcuno inizia a digitare nella cella, vorrebbe che qualunque cosa digitasse finisse in un commento allegato alla cella. La cella stessa dovrebbe rimanere vuota, ma il commento dovrebbe contenere tutto ciò che è stato digitato.
L’unico modo per eseguire questa operazione è tramite l’uso di una macro.
Utilizzando le funzionalità del gestore eventi di Excel, è possibile creare una macro che viene attivata ogni volta che viene modificata una cella. Se la cella modificata sembra essere la cella a cui si desidera associare il commento, è possibile trasferire il contenuto della cella al commento e rimuoverlo dalla cella stessa. La seguente breve macro lo farà:
Private Sub Worksheet_Change(ByVal Target As Range) Dim rCell As Range Dim sTemp As String Set rCell = Range("B4") If Not Intersect(Target, rCell) Is Nothing Then sTemp = rCell.Value rCell.ClearComments If Len(sTemp) > 0 Then Application.EnableEvents = False On Error Resume Next rCell.AddComment rCell.Comment.Text Text:=sTemp On Error GoTo 0 rCell.ClearContents Application.EnableEvents = True End If End If End Sub
Si noti che poiché si tratta di un gestore di eventi, è necessario aggiungerlo al modulo di codice per il foglio di lavoro che si desidera influenzare. In questo caso, il codice di passaggio a commento viene attivato solo quando viene apportata una modifica nella cella B4; questo indirizzo può essere modificato nel codice, se lo si desidera.
Va anche notato che questa macro viene attivata solo quando l’utente finisce di inserire qualcosa nella cella B4. Non viene attivato quando l’utente inizia a digitare. Pertanto, l’immissione dei dati effettivi si verifica ancora nella cella B4, non nel commento stesso. Inoltre, se qualcuno digita qualcosa nella cella B4, qualsiasi commento esistente viene perso perché la macro lo elimina prima di spostare il contenuto della cella nel commento.
ExcelTips è la tua fonte di formazione economica su Microsoft Excel.
Questo suggerimento (13511) si applica a Microsoft Excel 2007, 2010, 2013 e 2016.