Comentario anidado con macros vba

Amigo Dante Amor me gustaría que me ayude aquí le mando una foto con una mejor idea lo que deseo es que me salga este formato en el comentario al seleccionar un rango aguas & "la fecha que sale en la primera columna de la fila" & "la hora que depende la segunda columna de la fila" y & la info de la celda

Me gustaría que la hora que depende de la columna "C" considere los segundos osea mientras pasa cada columna en la fila aumente los segundos un poco 3 o 4 segundos como se muestra en la imagen gracias por su apoyo.

Esto me gustaría que salga.

Pero al momento de ejecutar la macro me salen estos valores que no son los que deseo

le falta la fecha como ve y la hora no se guía de la columna "C" de su fila.

Aquí como se sale el mismo error no sale la fecha y la hora no se guía de la columna "C"

1 respuesta

Respuesta
2

Te anexo la macro. Pone comentarios desde la fila 2 y hasta la última fila con datos; y desde la columna B y hasta la columna K

Sub Poner_Comentarios()
'Por Dante Amor
    '
    For i = 2 To Range("B" & Rows.Count).End(xlUp).Row
        n = 0
        For j = 2 To Columns("K").Column
            If Cells(i, j).Value <> Empty Then
                hora = Cells(i, "C").Value + TimeValue("00:00:" & Format(n, "00"))
                wcom = Format(Cells(i, "B").Value, "yyyy/mm/dd") & " " & _
                       Format(hora, "h:mm:ss AM/PM") & " " & _
                       Format(Cells(i, j).Value, Cells(i, j).NumberFormat)
                If Cells(i, j).Comment Is Nothing Then Cells(i, j).AddComment
                Cells(i, j).Comment.Text Text:="aguas " & wcom
                Cells(i, j).Comment.Shape.Width = 120.64
                Cells(i, j).Comment.Shape.Height = 84.64
                n = n + 3
            End If
        Next
    Next
    MsgBox "Fin"
End Sub

'.[Sal u dos. Dante Amor. No olvides valorar la respuesta. 

Me sale mensaje error 13 cuando ejecuto la macro.

En esta parte de la macro me sale el error

hora = Cells(i, "C").Value + TimeValue("00:00:" & Format(n, "00"))

¿Modificaste la macro?

No la modifique, al momento de ejecutar su macro me sale error en esa línea que le detalle arriba ayudenme por favor 

Y hasta cuál fila de tu excel actualizó los comentarios.

Eso paso porque en la columna C debes tener valores de hora, si en alguna celda de la columna C tienes un texto, te va a enviar error.

Si quieres omitir las celda que contienen texto, entonces prueba con la siguiente:

Sub Poner_Comentarios()
'Por Dante Amor
    '
    For i = 2 To Range("B" & Rows.Count).End(xlUp).Row
        n = 0
        For j = 2 To Columns("K").Column
            If Cells(i, j).Value <> Empty And IsDate(Cells(i, "C").Value) Then
                hora = Cells(i, "C").Value + TimeValue("00:00:" & Format(n, "00"))
                wcom = Format(Cells(i, "B").Value, "yyyy/mm/dd") & " " & _
                       Format(hora, "h:mm:ss AM/PM") & " " & _
                       Format(Cells(i, j).Value, Cells(i, j).NumberFormat)
                If Cells(i, j).Comment Is Nothing Then Cells(i, j).AddComment
                Cells(i, j).Comment.Text Text:="aguas " & wcom
                Cells(i, j).Comment.Shape.Width = 120.64
                Cells(i, j).Comment.Shape.Height = 84.64
                n = n + 3
            End If
        Next
    Next
    MsgBox "Fin"
End Sub

[sal u dos

No me llegó a funcionar y eso que lo copiar y pegue seleccionó un rango de celdas le doy en ejecutar macro y me sale error 103 igual en la misma fila

Revisa la columna C, deberías tener valores de hora, si tienes texto te va a enviar error.

En mis pruebas solamente tengo valores con hora y no tengo problemas.

Prueba con la siguiente On Error Resume Next, donde tengas valores texto no va a poner mensaje y pasará a la siguiente celda:

Sub Poner_Comentarios()
'Por Dante Amor
    '
    On Error Resume Next
    For i = 2 To Range("B" & Rows.Count).End(xlUp).Row
        n = 0
        For j = 2 To Columns("K").Column
            If Cells(i, j).Value <> Empty And IsDate(Cells(i, "C").Value) Then
                hora = Cells(i, "C").Value + TimeValue("00:00:" & Format(n, "00"))
                wcom = Format(Cells(i, "B").Value, "yyyy/mm/dd") & " " & _
                       Format(hora, "h:mm:ss AM/PM") & " " & _
                       Format(Cells(i, j).Value, Cells(i, j).NumberFormat)
                If Cells(i, j).Comment Is Nothing Then Cells(i, j).AddComment
                Cells(i, j).Comment.Text Text:="aguas " & wcom
                Cells(i, j).Comment.Shape.Width = 120.64
                Cells(i, j).Comment.Shape.Height = 84.64
                n = n + 3
            End If
        Next
    Next
    MsgBox "Fin"
End Sub

¡Gracias! Usted cree que me pueda ayudar con este problema- ---> Macro con un pequeño error en comentario

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas