Es possible pegar vínculos + comentarios a otro excel

Tengo dos archivos excel vinculados donde se actualiza los cambio que hago en el primero en el segundo. Pero no se me copian ni actualizan los comentarios que hay en las celdas del primer archivo en el segundo.

Quisiera saber si es posible hacer las dos funciones a la vez. Aunque sea con una macro.

Respuesta
1

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

Si no te quieres liar con macros también puedes copiar y hacer un pegado especial/Comentarios

1 respuesta más de otro experto

Respuesta

[Hola

No es posible que los comentarios se copien mediante vínculos o cualquier fórmula, necesariamente tiene que copiar el contenido de la celda o en todo caso hacer algo parecido con macros. Si no sabes VBA sugiero activar la grabadora de macros y realizar los pasos de copiar y pegar para que veas que código se genera y te des idea y ya sobre eso te podemos dar una mano. Evidentemente tienes que leer un poco del tema.

Comentas

Abraham Valencia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas