繁体   English   中英

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

[英]Editing multiple external links on Excel with a macro

我的VBA知识不是很完美,所以提前致歉。 每个月我都必须编辑文件中的链接以更改参考月(例如:7月-xxxxx到8月-xxxxx)

我有一个宏,下面列出了工作表上的外部链接(例如A1:A6)

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上,然后查找并替换月份(从7月到8月),因此我在工作表上有了新的链接。

然后我有以下宏:

Sub Linkupdate()

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

End Sub

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

非常感谢!

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

我假设您当前正在使用的东西只是想让它自己循环。 您将必须做一个循环,以便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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM