Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

238
Vistas
¿Cómo puedo usar .Hyperlink.Add Address con .Formula en VBA?

¡Saludos para todos!

Introducción.

En el trabajo, utilizamos una aplicación web de gestión de documentos electrónicos (podemos nombrarla por ejemplo como "webdocs") que nos permite buscar los documentos por su número específico.

Los "webdocs" tienen una opción para descargar un archivo de Excel para mostrar la lista de documentos externos/internos vencidos y próximos.

Ese archivo de Excel tiene la columna que consta de № carácter + número de documento + salto de línea + fecha de entrada.

Los webdoc.

Cuando busco un documento, la URL tiene el siguiente aspecto: https://webdocs.com/#!/cancelar/incoming/document_list_organization?page=1&document_recipient_reg_number=12345678&boss=-1&from_date=01.01.2022&to_date=12.31.2022&year=2022

Entonces, la URL consta de 3 bloques principales, el segundo es lo que estoy buscando:

  1. Protocolo HTTPS + Dominio + Área de documentos + Número de página visible;
  2. Número de documento (escribí 12345678 como marcador de posición);
  3. Filtro específico + Filtro de fecha.

El problema

Escribí el código VBA que agrega la columna adicional y pasa la URL en cada celda de la tabla de datos.

El punto principal es reemplazar el segundo bloque de URL con el valor de la columna "B", es por eso que he agregado una fórmula que ignora el carácter "№" y toma los valores hasta el salto de línea (carácter 10) .

 Dim zRange, zCells As Range Set zRange = .Range("I3", .Range("I3").End(xlDown)).Offset(0, 5) .Range("N2").Value = "Find the document" For Each zCells In zRange .Hyperlinks.Add Anchor:=zCells, _ Address:="https://webdocs.com/#!/cancelar/incoming/document_list_organization?page=1&document_recipient_reg_number=" & zCells.Formula = "RIGHT(LEFT(" & "B" & zCells.Row & ",FIND(CHAR(10)," & "B" & zCells.Row & ")-1), LEN(LEFT(" & "B" & zCells.Row & ",FIND(CHAR(10)," & "B" & zCells.Row & ")-1))-2)" & "&boss=-1&from_date=01.01.2022&to_date=12.31.2022&year=2022", _ ScreenTip:="Open the document", _ TextToDisplay:="Open the document" Next zCells

El código interpreta ".Fórmula" como texto y cuando abrí el hipervínculo, vi la fórmula en el segundo bloque de la URL pero no el valor de las celdas de la columna "B". El código no funciona como debería.

La pregunta

¿Cuál es la forma de solucionar el problema?

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Insinuación:

 Sub TestA() Const Address As String = "https://webdocs.com/#!/cancelar/incoming/document_list_organization?page=1&document_recipient_reg_number=12345678&boss=-1&from_date=01.01.2022&to_date=12.31.2022&year=2022" MsgBox "Reg #: " & Split(Split(Address, "=")(2), "&")(0) End Sub

Igualmente:

 Sub TestB() Dim DocID As String DocID = Range("B" & zCells.Row).Text MsgBox "Reg #: " & Split(Split(DocID, "№")(1), Chr(10))(0) End Sub
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda