Inserisci commetto su celle colonna
Hai un problema con Excel? 
Inserisci commetto su celle colonna
di dede89 (utente non iscritto) data: 15/01/2015 16:38:08
Buonasera a tutti, da ore sto sbattendo la testa su questa semplice macro che dovrebbe inserirmi un commento (vuoto) in ogni cella di una determinata colonna.
Questo è quello che finora sono riuscito a fare, qualcuno può dirmi dove sbaglio?
Sub AggiungiCommento()
'
'
'
'
Dim tot As Long, r As Long
Set sh1 = Sheets("Schedone")
tot = Cells(Rows.Count, "F").End(xlUp).Row
For r = 21 To tot
Cells(r, 6).Select
Cells(r, 6).AddComment
Cells(r, 6).Comment.Visible = False
Cells(r, 6).Comment.Text Text:="" & Chr(10) & ""
Exit For
Next
End Sub
|
di lepat (utente non iscritto) data: 15/01/2015 16:43:41
cosa ci sta a che fare quell' exit for ?
toglilo
di Vecchio Frac data: 15/01/2015 16:45:59
Ti propongo una mia vecchia funzione per aggiungere un commento a una cella o toglierlo se esistente. Vedi tu come adattare.
Sub set_comment(r As Range, s As String)
If Not (r.Comment Is Nothing) Then r.Comment.Delete
s = Trim(s)
If s = "" Then Exit Sub
With [r].AddComment
.Visible = False
.Text s
End With
End Sub |
di Vecchio Frac data: 15/01/2015 16:47:38
cit. "cosa ci sta a che fare quell' exit for ? "
---> LOL, mi era sfuggito... e a pensarci bene, l'istruzione "" & Chr(10) & "" NON inserisce un commento VUOTO... e poi perchè inserire un commento /vuoto/?
di dede89 (utente non iscritto) data: 16/01/2015 09:17:02
Il commento vuoto mi serve perchè poi ho creato una macro che mi copia su questi commenti della caratteristiche prese da un altro foglio....
Ho tolto l'Exit For ma la mia macro va in Debug (errore run-time 1004) alla riga Cells().AddComments
Vecchio Franc, anche la tua mi va in Debug
di Vecchio Frac data: 16/01/2015 09:30:45
La Function (testata e funzionante) che propongo ti evita di dover pre-settare dei commenti vuoti per riempirli poi.
Però va usata nel modo corretto :)
Cosa vuol dire "mi va in debug" ? che tipo di errore ottieni? su che riga?
Ecco l'uso corretto della Function dopo averla copiata in un modulo.
' imposta il commento "ciao" nella cella A1
set_comment range("A1"), "test"
' modifica il commento nella cella A1
set_comment range("A1"), "prova"
' elimina il commento dalla cella A1
set_comment range("A1"), ""
|
di Vecchio Frac data: 16/01/2015 09:40:42
Per inciso, la tua macro va in errore dopo la prima esecuzione perché ha già impostato un commento nella cella G21 (che corrisponde a Cells(r, 6) con r = 21) e il modello a oggetit di Excel per quanto strano possa sembrare non permette un ulteriore AddComment se una cella ha già un commento.
Qualche anno fa avevo predisposto una articoletto su questo argomento, è da lì che ho preso l'esempio della mia Function che ho postato.
di dede89 (utente non iscritto) data: 16/01/2015 10:04:22
Grandissimo Vecchio Franc!!
Ora anche la mia macro funziona, andava in errore per quel motivo (non puoi fare AddComment se la cella ha gia un commento!!)
Graaaazieeeee
Vuoi Approfondire?