代码之家  ›  专栏  ›  技术社区  ›  Nirvan H

使用宏在Excel上编辑多个外部链接

  •  1
  • Nirvan H  · 技术社区  · 8 年前

    Sub Display_Links()
    '
    ' Display_Links Macro
    '
    ' Keyboard Shortcut: Ctrl+l
    '
    Dim aLinks As Variant
    Dim i As Integer
    aLinks = ActiveWorkbook.LinkSources(xlExcelLinks)
    If Not IsEmpty(aLinks) Then
        For i = 1 To UBound(aLinks)
            ActiveCell.Offset(i, 0) = aLinks(i)
    '       ActiveCell.Offset(i, 0).Hyperlinks.Add Anchor:=ActiveCell.Offset(i, 0), Address:=ActiveCell.Offset(i, 0)
        Next i
    End If
    
    End Sub
    

    然后我将这个范围复制并粘贴到B1:B6上,找到并替换月份(从七月到八月),这样我就可以在表单上找到我需要的新链接。

    然后我有以下宏:

    Sub Linkupdate()
    
    ActiveWorkbook.ChangeLink Range("A1").Text, _
        Range("B1").Text, xlExcelLinks
    
    End Sub
    

    有了这个,我可以更改每个链接,但是我如何定义要用(b1:b6)更新的整个范围(a1:a6)?

    非常感谢!

    TL;DR-我正在尝试在WB上编辑多个链接,而不使用编辑链接功能,因为我需要做的唯一更改是更改月份(例如:7月-xxxxx到8月-xxxxx)

    1 回复  |  直到 8 年前
        1
  •  0
  •   ShanayL cissoko    8 年前

    我假设你目前的工作,你只是想让它自己循环。您必须进行循环,以便excel知道要捕获多少个单元格。

    类似于:

    Sub Linkupdate() 
        Dim Row As Integer
    
        Row = 1
        LastRow = Worksheets("WorksheetName").Cells(Rows.Count, "A").End(xlUp).Row
    
        Do while Row <= LastRow
          ActiveWorkbook.ChangeLink Range("A" & row).Text, _
          Range("B" & row).Text, xlExcelLinks
          Row = Row + 1
        Loop
    End Sub
    
    推荐文章