/ / Edycja wielu zewnętrznych linków w Excelu za pomocą makra - excel, vba, excel-vba, edit

Edytowanie wielu zewnętrznych linków w Excelu za pomocą makra - excel, vba, excel-vba, edit

Moja wiedza VBA nie jest nieskazitelna, więc z góry przepraszam, każdego miesiąca muszę edytować linki w moich plikach, aby zmienić miesiąc referencyjny (np .: Jul -xxxxx na Aug -xxxxx)

Mam poniższe makro, aby wyświetlić linki zewnętrzne na arkuszu (np. 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

gdzie następnie skopiuj i wklej ten zakres na B1: B6, znajdź i zamień miesiąc (od lipca do sierpnia), więc mam nowe linki, których potrzebuję na arkuszu.

Następnie mam następujące makro:

Sub Linkupdate()

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

End Sub

Dzięki temu mogę zmienić każde łącze, ale jak zdefiniować cały zakres (a1: a6), który ma być aktualizowany (b1: b6)?

Wielkie dzięki!

TL; DR - Próbuję edytować wiele linków w WB bez korzystania z funkcji edycji linków, ponieważ jedyną zmianą, którą muszę zrobić, to zmienić miesiąc (np. Jul -xxxxx na Aug -xxxxx)

Odpowiedzi:

0 dla odpowiedzi № 1

Zakładam, że to, co aktualnie pracujesz, po prostu chcesz, żeby się zapętlił. Będziesz musiał wykonać pętlę, aby program Excel wiedział, ile komórek można przechwycić.

Coś jak:

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