Cómo volver los comentarios cerca de la celda al modificarlos

Encontré el siguiente código. Pero no sé qué le falta. ¿Faltan declarar cosas?

Declaro "ws" como Worksheet pero el resto lo desconozco totalmente. Perdonen mi ignorancia.

Sub movecom2()
'Copia los comentarios y los vuelve a su lugar)
'Por.Dam
Set ws = Sheets("Hoja1")
ucol = ActiveCell.SpecialCells(xlLastCell).Column + 1
Set pivote = Cells(1, ucol)
Application.ScreenUpdating = False
For Each cmt In ws.Comments
    If cmt.Parent.Address <> pivote.Address Then
        cmt.Parent.Copy
        pivote.PasteSpecial Paste:=xlPasteComments, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False
        pivote.Copy
        cmt.Parent.PasteSpecial Paste:=xlPasteComments, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False
        Application.CutCopyMode = False
        pivote.ClearComments
    End If
  Next cmt
Application.ScreenUpdating = True
End Sub

2 Respuestas

Respuesta
1

¿Y qué sucede?

¿Te envía error la macro? ¿Qué mensaje de error te envía y en qué línea de la macro se detiene?

Cambia "Hoja1" por el nombre de la hoja que contiene los comentarios

Antes de ejecutar la macro selecciona la hoja que contiene los comentarios

¡Gracias! Tenías razón. Había leído mal en el post de donde lo había copiado. Ya que decían que solo lo pegara y funcionaría. Era bloquear el option explicit y poner bien el nombre de la hoja. Gracias a los 2 chicos. A vos Dante y jrgces. Gigantes los dos. 

Más sobre la declaración de variables:

Según su función ¿Cómo declarar variables?

Respuesta
1

El código no declara las variables de forma explícita, así que yo intentaría quitar en el módulo VBA la línea

Option Explicit

Saludos_

¡Gracias! Tenías razón. Sacando el option explicit me iba a ayudar. Pero si yo uso siempre este Option explicit para no confundirme más tarde cómo podría declarar las partes?

Si no quieres quitar Option Explicit (que es lo que yo recomiendo hacer), prueba a añadir esta línea al principio del sub:

Dim ws As Worksheet, ucol As Integer, pivote As Range, cmt As Comment

Saludos_

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas