/ / Редагування декількох зовнішніх посилань у Excel з макросами - excel, vba, excel-vba, редагування

Редагування декількох зовнішніх посилань у Excel з використанням макрокоманд Excel, vba, excel-vba, редагування

Знання мого 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, і знайти і замінити місяць (з липня по серпень), так що у мене є нові посилання, які мені потрібні на аркуші.

Тоді я маю наступний макрос:

Sub Linkupdate()

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

End Sub

Завдяки цьому я можу змінити кожне посилання, але як визначити весь діапазон (a1: a6), який потрібно оновити (b1: b6)?

Дуже дякую!

TL; DR - я намагаюсь редагувати декілька посилань на WB без використання функції редагування, оскільки мені потрібно змінити лише місяць (наприклад: Jul -xxxxx до Aug -xxxxx)

Відповіді:

0 для відповіді № 1

Я припускаю, що у вас наразі працює, ви просто хочете, щоб він на це називався. Вам потрібно буде зробити цикл, щоб 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