我的VBA知识并非完美无暇所以提前道歉。我每个月都要编辑文件中的链接以更改参考月份(例如:Jul -xxxxx到Aug -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)
答案 0 :(得分:0)
我假设你现在的作品只是想让它自己循环。你将不得不做一个循环,以便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