viernes, febrero 08, 2008

Comentarios en celdas de Excel sin nombre de usuario.

En una nota anterior sobre comentarios en celdas, mostramos las ventajas de usar la barra de herramientas Revisión.
Al insertar un comentario, Excel pone automáticamente el nombre del usuario en el formulario de la nota. Este nombre es el que figura en la pestaña General del menú Opciones




A veces queremos usar el comentario sin que aparezca el nombre del usuario. Por lo general este dato no tiene ninguna importancia y sólo ocupa lugar en el formulario.
Si quitamos el nombre del usuario en el menú Opciones, descubriremos que Excel trae el nombre de usuario que se ha asignado en Windows.
Borramos el nombre de usuario, dejando la casilla en blanco y pulsamos Aceptar



Al poner un comentario veremos que aparece un nombre de usuario en el formulario



Si abrimos nuevamente el menú de Opciones, veremos que Excel se ha preocupado de insertar el nombre de usuario de Windows.

Lo que podemos hacer es recurrir a una macro. Programamos dos eventos, a nivel del cuaderno (ThisWorkbook). Para hacer el trabajo más eficiente, programamos el evento BeforeDoubleClick, pero a nivel del cuaderno para que esté disponible para todas las hojas

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As
Range, Cancel As Boolean)
   With Target
     .AddComment
     .Comment.Visible = True
     .Comment.Shape.Select
   End With
End Sub

Esta macro abre un comentario en la celda activa al hacer doble clic con el botón izquierdo del mouse.
Para evitar tener que cerrar el comentario manualmente, programamos, también a nivel del cuaderno, el evento SelectionChange,


Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
   Application.DisplayCommentIndicator = xlCommentIndicatorOnly
End Sub


Los comentarios se abrirán ahora sin nombre de usuario.




Technorati Tags:

13 comentarios:

  1. Hola Jorge, te hago una pregunta que me ha surgido al leer esta nota.
    Desde hace mucho he querido encontrar una función u otra herramienta que al tener abierto un archivo muestre el nombre de usuario que esta modificando el archivo. La finalidad es para que cuando la persona cierre el archivo, se ejecute una macro que registre en algún lugar quién lo modifico, o de que PC se han realizado cambios.

    Tengo archivos compartidos en red en los que varios usuarios acceden y agregan datos. Al ingresar información lo hacen a través de formularios que registran los datos que necesito, entre los cuales también se incorporan como un dato mas: fecha y hora de registración. Esto lo hago con una macro que pega como valor el resultado de la función =AHORA()
    No obstante lo que me gustaría agregar es el nombre de usuario que ingresa el dato o el nombre de la PC, y es sobre esto por lo que te pregunto: Existe alguna función o herramienta que pueda usar para obtener automáticamente este dato e incluirlo dentro de mi base de datos?

    Esta interrogante me surge luego de haber leído esta nota, y te agradezco anticipadamente sobre los conocimientos que compartís. Muchas veces me pasa que al leer tu blog y sin buscar algo especifico (solo curioseando) encuentro ejemplos o sugerencias que como en este caso son disparadoras de ideas.

    Un abrazo.

    WLG

    ResponderBorrar
  2. Hola Walter

    Excel no tiene una función nativa para extraer el nombre del usuario. Pero me parece que para lo que quieres hacer sería más comveniente usar Cuadernos compartidos.
    Este funcionalidad te permite llevar un hisrotial de los usuarios que accedieron al cuaderno y la actividad realizada.

    ResponderBorrar
  3. Estimado Jorge,

    Tengo una duda que no he podido encontrar en ningún web, y confío en tí para que lo expliques aquí si puedes o en un post (soy lector de tu rss). Se trata de que al igual que en la vista diseño tienes la función &[Archivo] entre otras, me gusatría saber qué tengo que poner para que uno de los campos sea el nombre del usuario (el que pone en los comentarios).

    Gracias de antemano

    ResponderBorrar
  4. Hola David

    vista diseño se aplica a Excel 2007. Por el momento, y hasta que tenga suficiente experiencia conb XL2007, no puedo responder.

    ResponderBorrar
  5. Jorge, yo me refiero a excel 2003... concretamente en la vista preliminar, opción configurar, encabezado y pie de página. Gracias por tu ayuda.

    ResponderBorrar
  6. Hola de nuevo David

    disculpas por la confusión. La única forma que conozco de agregar el nombre del usuario, sin hacerlo manualmente por supuesto, es con una macro. Puedes hacerlo con una macro común o programando un evento. Para poner el nombre el usuario en la parte central del pie de página usas este código

    ActiveSheet.PageSetup.CenterFooter = Environ("username")

    ResponderBorrar
  7. Estimado Jorge, tengo un libro de excel 2007 con varias hojas y un sinfin de comentarios, he notado que al agregar nuevos comentarios, los primeros se van eliminando o simpemente desaparecen. Es esto una limitante de excel? de ser así, cuántos comentarios acepta un libro?
    Saludos.

    ResponderBorrar
  8. No se que haya algún límite en ese sentido. Para comporbarlo he puesto 150000 comentarios en una hoja (con una macro, por supuesto) y no veo que suceda algo de lo que describes.
    Pero la pregunta más interesante es ¿por qué poner un sinfin de comentarios en una hoja?

    ResponderBorrar
  9. Hola tengo una duda tecnica muy simple, como puedo ingresar al hora actual en una celda al aplicar doble click sobre ella, necesito esta funcion para toda una columna

    ResponderBorrar
  10. Programando el evento Worksheet_BeforeDoubleClick de la hoja con este código


    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Target = Time
    End Sub

    Si no estás familiarizado con el tema de los eventos puedes fijarte en esta nota del blog.

    ResponderBorrar
  11. Hola Jorge (de nuevo). Hizo falta que le diera "publicar", para que la lamparita se prendiera. Finalmente lo resolvi con una funcion que me devolviera el comentario de la celda elegida, y luego llamarla desde excel.
    Gracias por activar nuestras neuronas!!!
    abrazo.

    ResponderBorrar
  12. Hola Jorge queria consultarte, tengo un libro de excel compartido en un servidor de red, somos 4 usuarios, lo que me gustaría saber es como hacer una copia de seguridad del archivo excel en una ruta en donde aparezca el nombre del archivo, el usuario que hizo la copia, la fecha y la hora??
    saludos.

    ResponderBorrar
  13. Los cuadernos compartidos tienen un mecanismo de con trol de cambios (que puedes ver en esta nota) pero también tienen muchas limitaciones (ver esta nota). Los cambios son registrados en una hoja oculta y allí puede verse qué hizo quién. Eso es todo, no pueden usarse macros por lo que estamos limitados a lo que se registra en esa hoja.
    En general no es recomendable usar cuadernos compartidos.

    ResponderBorrar

Nota: sólo los miembros de este blog pueden publicar comentarios.