【问题标题】:How can I use both .Hyperlink.Add Address with .Formula on VBA?如何在 VBA 上同时使用 .Hyperlink.Add Address 和 .Formula?
【发布时间】:2022-06-22 17:58:44
【问题描述】:

大家好!

简介。

在工作中,我们使用电子文档管理网络应用程序(我们可以将其命名为“webdocs”),它允许我们按文档的特定编号搜索文档。

“webdocs”可以选择下载 excel 文件以显示过期和即将到来的外部/内部文档列表。

该excel文件的列由№字符+文档编号+换行符+输入日期组成。

网络文档。

当我搜索文档时,URL 如下所示: 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

所以 URL 包含 3 个主要块,第二个是我要寻找的:

  1. 协议 HTTPS + 域 + 文档区域 + 可见页码;
  2. 证件号(我写了12345678作为占位符);
  3. 特定过滤器 + 日期过滤器。

问题

我编写了添加附加列的 VBA 代码,并将 URL 传递到数据表的每个单元格中。

重点是将第二个 URL 块替换为“B”列的值,这就是为什么我添加了一个忽略“№”字符并取值直到换行符的公式 (字符 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

代码将“.Formula”解释为文本,当我打开超链接时,我在 URL 的第二个块上看到了公式,但没有看到“B”列的单元格中的值。代码无法正常工作。

问题

解决问题的方法是什么?

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    提示:

    Sub Test()
    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-25
      • 2019-06-02
      • 1970-01-01
      • 1970-01-01
      • 2017-11-14
      • 1970-01-01
      • 2022-01-23
      • 2020-04-03
      相关资源
      最近更新 更多