Si trabaja con hojas de trabajo de Excel que tienen muchos comentarios de celda en una hoja de trabajo, este tutorial podría ser útil. A veces, puede insertar comentarios en las celdas para resaltar o explicar los datos, o su jefe puede insertar comentarios en las celdas mientras revisa su trabajo.
Si tiene un conjunto de datos enorme y los comentarios están dispersos por toda la hoja de trabajo, puede ser útil tener todos los comentarios en un solo lugar como una lista.
Obtenga una lista de todos los comentarios en una hoja de trabajo
En este tutorial, le mostraré cómo usar un código VBA para obtener una lista de todos los comentarios en una hoja de trabajo en una hoja de trabajo separada.
Algo como se muestra a continuación:
Hay un código VBA en el backend que hace lo siguiente:
- Comprueba si hay comentarios en la hoja de trabajo activa o no. Si no hay comentarios, se retira silenciosamente y no hace nada.
- Si hay comentarios en la hoja de trabajo, crea una nueva hoja de trabajo ("Comentarios") y extrae una lista de todos los comentarios en la siguiente estructura:
- La columna A tiene la dirección de celda que tiene el comentario.
- La columna B tiene el nombre del comentarista. Esto resulta útil si hay varios revisores del mismo archivo. También ayudará a filtrar / ordenar según el nombre de los revisores.
- La columna C tiene el comentario.
Descargar el archivo de ejemplo
El código VBA
Aquí está el código VBA que hace todo el trabajo pesado aquí.
Sub ExtractComments () Dim ExComment como comentario Dim i As Integer Dim ws Como hoja de trabajo Dim CS como hoja de trabajo Establecer CS = ActiveSheet Si ActiveSheet.Comments.Count = 0 Luego salga de Sub para cada ws en las hojas de trabajo Si ws.Name = "Comentarios" Entonces i = 1 Next ws If i = 0 Then Set ws = Worksheets.Add (After: = ActiveSheet) ws.Name = "Comments" Else: Set ws = Worksheets ("Comments") End If For each ExComment en CS.Comments ws. Rango ("A1"). Valor = "Comentario en" ws.Range ("B1"). Valor = "Comentario por" ws.Range ("C1"). Valor = "Comentario" Con ws.Range ("A1: C1 ") .Font.Bold = True .Interior.Color = RGB (189, 215, 238) .Columns.ColumnWidth = 20 End With If ws.Range (" A2 ") =" "Entonces ws.Range (" A2 " ) .Value = ExComment.Parent.Address ws.Range ("B2"). Value = Left (ExComment.Text, InStr (1, ExComment.Text, ":") - 1) ws.Range ("C2"). Valor = Derecha (ExComment.Text, Len (ExComment.Text) - InStr (1, ExComment.Text, ":")) Else ws.Range ("A1"). End (xlDown) .Offset (1, 0) = ExComment.Parent.Address ws.Range ("B1"). End (xlDown) .Offset (1, 0) = Left (ExComment. Texto, InStr (1, ExComment.Text, ":") - 1) ws.Range ("C1"). End (xlDown) .Offset (1, 0) = Right (ExComment.Text, Len (ExComment.Text) - InStr (1, ExComment.Text, ":")) End If Next ExComment End Sub
Cómo utilizar este código
Hay un par de formas en las que puede usar este código para obtener una lista de comentarios de su hoja de trabajo:
# 1 Copiar Pegar datos en el archivo de ejemplo
Copie y pegue sus datos (como están) en la pestaña Datos del archivo de descarga y luego ejecute esta macro.
Para ejecutar esto:
- Vaya a la pestaña Desarrollador y haga clic en Macros. Abrirá el cuadro de diálogo Macro.
- Seleccione ExtractComment y haga clic en Ejecutar. Asegúrate de estar en la hoja que tiene los comentarios que deseas extraer.
# 2 Copie y pegue el código en su libro de trabajo
Copie el código y péguelo en el libro de trabajo del que desea extraer los comentarios.
Para hacer esto:
- Active el libro en el que está trabajando y presione Alt + F11. Esto abrirá la ventana del Editor de VB.
- En el Explorador de proyectos a la izquierda, haga clic con el botón derecho en cualquiera de los objetos para ese libro de trabajo, vaya a Insertar -> Módulo.
- Pegue el código en la ventana Código del módulo.
- Cierre la ventana del editor de VB (o presione Alt + F11 para volver a la hoja de trabajo).
Ahora tiene la macro en su libro de trabajo. Para ejecutar la macro, vaya a la pestaña Desarrollador -> Macros. En el cuadro de diálogo Macro, seleccione la macro ExtractComment y haga clic en Ejecutar.
Nota: asegúrese de guardar el libro de trabajo con .Extensión XLS o .XLSM.
# 3 Crea un complemento
Si necesita utilizar este código con frecuencia, es mejor crear un complemento a partir de él. De esa manera, puede usarlo fácilmente en cualquier libro de trabajo (sin el esfuerzo adicional de copiar y pegar el código una y otra vez).
A continuación, se explica cómo crear un complemento:
- Vaya a Archivo -> Guardar como.
- En el cuadro de diálogo Guardar como, cambie Guardar como tipo a .xlam.
- Notarás que la ruta del archivo donde se guarda cambia automáticamente. Puedes cambiarlo si quieres.
- Abra un libro de Excel y vaya a Desarrollador -> Complementos -> Complementos de Excel.
- En el cuadro de diálogo Complementos, busque y busque el archivo que guardó y haga clic en Aceptar.
Una vez que se ha activado un complemento, puede usarlo en cualquier libro de trabajo. Para hacer eso, vaya a Desarrollador -> Macros. En el cuadro de diálogo Macro, seleccione la macro ExtractComment y ejecútela.
Descargar el archivo de ejemplo
Espero que este código le ahorre algo de tiempo. Déjame saber tu opinión en la sección de comentarios.
Si trabaja con Excel, VBA podría ser un poderoso aliado. Lleve sus habilidades de Excel al siguiente nivel con el curso Excel VBA.