Jump to content

Depurar macro vba para insertar notas


Recommended Posts

Hola y buenos días a todos;

-¿Se puede depurar mejor la macro que adjunto?

Sí es posible agradecería vuestros consejos.

Código:

Sub notas()
With Worksheets("Notas")
    .Cells(1, 1).AddComment
    .Cells(1, 1).Comment.Text Text:="Titulo1"
    .Cells(1, 2).AddComment
    .Cells(1, 2).Comment.Text Text:="Titulo2"
    .Cells(1, 3).AddComment
    .Cells(1, 3).Comment.Text Text:="Titulo3"
    .Cells(1, 5).AddComment
    .Cells(1, 5).Comment.Text Text:="Titulo4"
    
    .Cells(1, 1).Comment.Visible = False
    .Cells(1, 2).Comment.Visible = False
    .Cells(1, 3).Comment.Visible = False
    .Cells(1, 5).Comment.Visible = False
    
End With
End Sub

 

Adjunto macro

Saludos

MNotas.xlsm

Link to comment
Share on other sites

Hace 2 horas, Antoni dijo:

No se entiende que es lo que pretendes hacer¿?

Hola Antoni;

Lo que quiero hacer es dejar un o unos comentarios en los encabezados de la hoja "notas" en la fila 1.

La macro lo hace bien y mi consulta es si así está bien o por el contrario se puede depurar mejor el código.

El que te he puesto lo he generado yo e igual no es muy ortodoxo que digamos.

Saludos a ti y a la capital Antoni.

Link to comment
Share on other sites

  • 3 weeks later...

Recomendaría trabajar con el nombre del Objeto WorkSheets y emplear un bucle For Next como verás a continuación y con ello tendrías "Menos lineas de código" que es mas o menos lo que creo que esperas hacer.

Dim I As Integer

With Hoja1

    For I = 1 To 5
    
        .Cells(1, I).AddComment
        .Cells(1, I).Comment.Text Text:="Titulo " & I
        .Cells(1, I).Comment.Visible = False
        
        If I = 3 Then I = I + 1
        
    Next I
    

End With

Espero que sea mas o menos lo que esperas.

Mis respetos.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • 28 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Ayúdanos a mejorar la comunidad

    • Donaciones recibidas este mes: 0.00 EUR
      Objetivo: 130.00 EUR
  • Files

  • Download Statistics

    • Files
      150
    • Comments
      88
    • Reviews
      25

  • Crear macros Excel

  • Posts

    • Jelow,   Como veo que no sale en la tabla, ¿Qué valor tienes exactamente en la columna AZ32, un número, una fecha o qué? ¿Y en qué formato?   Entretanto, intentando entender tu explicación (te recomiendo que lo expongas con más detalle para próximas preguntas, ya que al ser algo complejo, si no lo explicas con calma, puede dar a confusiones): 1.- Calcular  SI Fecha inicial + tiempo estimado > Fecha inicial + jornada laboral (no sería más conveniente, indicar aquí el tiempo restante y no la jornada laboral?) 2.- Al devolver en CP la fecha fin, el calculo depende del valor que tengas en la celda AZ32 y si el formato es incorrecto, no saldrá bien. 3.- Por lo demás, según veo en la tabla, ya tienes los datos como lo quieres, sumando el tiempo estimado, según la fecha y la jornada, ¿Qué solución buscas, incluir que detecte los fines de semana por en medio?¿O la fecha fin la has puesto a mano?   Quedo pendiente ✋
    • Jelow, Primero, lo primero, en la formula que pegaste abajo, la que no funciona, sobra un parentesis al final (si lo escribiste sin querer en el post, pero no existe en la formula real, sorry). Si con eso no se soluciona, quedo pendiente de responderte con mis teorías (adelanto: igual tienes que hacer referencia a la ruta del archivo, antes del nombre "prueba.xlsx"). Ya me dices ✋
    • Jelow, Como te dijo Silvia, debes pegar como valores, porque sino te traerá las referencias de la ruta del primer archivo y aunque se llamen igual, saldrá error. +1 a Silvia ✋
    • Jelow, Vengo con otra posible solución: - En la celda donde indicas el link, pon "=HIPERVINCULO(SI(C2=1,"LINK 1", "LINK 2"),"Nombre en celda")" - En "Nombre en celda" pones el nombre VIDEO o lo que quieres que se muestre como palabra - En C2 pones la celda de referencia de la lista desplegable, en tu caso D3 y según los valores que vayas teniendo, puedes incluir un si, dentro de otro. - EJ "SI(D3="OPCION 1", "URL1", SI(D3="OPCION2", "URL2"... - EDITADO: Me di cuenta ahora, mientras leo, también puedes usar la formula O() y meter dentro cada opción... no sé, igual alguien encuentra una forma sencilla de reducir esto - Solo recuerda cerrar luego los parentesis que pertoquen.   Espero haberte ayudado ✋
    • Hola, Se supone que esos hipervínculos estarán en algún sitio, así que con un BUSCARV o una combinación INDICE/COINCIDIR deberían poder localizarse fácilmente. Saludos,
  • Recently Browsing

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

Privacy Policy