Te paso una macro que copia comentarios.
Funciona de la siguiente manera:
Le das un libro y yna hoja de origen, y un libro y hoja donde copiar los comentarios.
Le dices desde que celda hasta que celda quieres copiarlos.
Para ajustar la macro a tu archivo tendrás que editar donde dice "Libro1","hoja1","Libro2","Hoja2","A1" y "E10".
Esto debería ser fácil, te lo dejo todo comentado en el código.
¿Qué hace exactamente?
Borra los comentarios de las celdas de la hoja de destino y los reemplaza con los de la hoja de origen, si esa celda no esta comentada en la hoja de origen la hoja de destino queda también sin comentarios.
No copiará formatos de ningún tipo, solo el texto de los comentarios.
No es muy elegante, pero funciona.
Si te da algún problema avísame.
Saludos,
Option Explicit
Sub CopiarComentarios()
Dim LibroOrigen, HojaOrigen, LibroDestino, HojaDestino, CeldaInicial, CeldaFinal As String
Dim Fila, FilaFinal, Columna, ColumnaFinal, i, j As Integer
Dim RgOrigen, RgDestino As Range
'Aquí pon el nombre del libro y la hoja desde los que quieres copiar, ojo tienen que ir entre comillas
LibroOrigen = "Libro1"
HojaOrigen = "Hoja1"
'Aquí pon nombre y hoja del libro a donde quieres copiar, entre comillas también
LibroDestino = "Libro2"
HojaDestino = "Hoja1"
'Aquí el nombre de la celda más arriba y a la izquierda dentro del rango que quieras copiar
CeldaInicial = "A1"
'Aquí el nombre de la celda más abajo y a la derecha, siempre comillas.
CeldaFinal = "E10"
Fila = Range(CeldaInicial).Row
Columna = Range(CeldaInicial).Column
FilaFinal = Range(CeldaFinal).Row
ColumnaFinal = Range(CeldaFinal).Column
Set RgOrigen = Workbooks(LibroOrigen).Worksheets(HojaOrigen).Range(CeldaInicial)
Set RgDestino = Workbooks(LibroDestino).Worksheets(HojaDestino).Range(CeldaInicial)
For i = Fila To FilaFinal
For j = Columna To ColumnaFinal
If Not RgDestino.Comment Is Nothing Then RgDestino.Comment.Delete
If Not RgOrigen.Comment Is Nothing Then RgDestino.AddComment (RgOrigen.Comment.Text)
Set RgOrigen = RgOrigen.Offset(0, 1)
Set RgDestino = RgDestino.Offset(0, 1)
Next
Set RgOrigen = RgOrigen.Offset(1, -ColumnaFinal)
Set RgDestino = RgDestino.Offset(1, -ColumnaFinal)
Next
End Sub