Comentarios en Excel

Estoy haciendo una aplicación en Excel y necesitaría que al hacer doble clic (o clic) en una celda se me abra lo mismo que si hiciera botón derecho - insertar comentario.
Así mismo, preguntar si es posible asociar el comentario al valor de la celda. Ya que luego desde Access voy a extraer la información de este fichero excel.
Muchas gracias

1 respuesta

Respuesta
1
Te dejo la rutina para insertar comentarios.
Entrá al Editor, seleccioná con doble clic la HOJA donde quieras que esto suceda y copiá esta macro:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Target.AddComment
Target.Comment.Visible = True
Target.Comment.Text Text:="Autor:" & Chr(10) & ""
End Sub
En la última línea podes establecer un comentario fijo como el Autor y entre las comillas agregar el texto, reemplazar por el contenido de otra celda o dejarlo en blanco para ingresar tu comentario.
Muchas gracias Elsa, aparentemente funciona, sólo unas cositas más...
¿Se puede hacer para una deteminada celda y que se muestre el comentario al hacer simplemente un clic?
Cuando dejas de escribir el comentario, y pinchas fuera, el comentario sigue visible y yo querría que se ocultara (lo mismo que ocurre normalmente cuando lo tienes en las opciones como 'solo indicador de comentario')
En cuanto a lo de asociarlo al valor real de la celda, ¿es posible?
Muchas gracias :-)
ahhh y me acabo de dar cuenta que cuando vuelves a clicar sobreuna celda que ya tenia comentario abierto, da error... snif snif
Para que se ejecute al clic en celda tenés que cambiar el evento Doble clic por el de Selection_Change.
Así te quedaría la rutina entonces.
Public rgo
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
'al cambiar de celda se oculta el comment
If Target.Address <> rgo Then Range(rgo).Comment.Visible = False
'para que coloque comentario solo en un rango de celdas
If Intersect(Target, Range("F2:F5")) Is Nothing Then Exit Sub
Target.AddComment
rgo = Target.Address
Target.Comment.Visible = True
End Sub
No comprendí lo de asociarlo al valor de la celda. Si estás intentando que se concatene el valor con el comment, se me ocurre que antes de ocultarlo arma la cadena:
If target.address <> rgo and rgo <> "" then
cadena = Range(rgo).value & " " & Range(rgo).comment.text
Range(rgo).value = cadena
range(rgo).comment.visible = false
end if

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas