/ / Bearbeiten mehrerer externer Links in Excel mit einem Makro - Excel, vba, excel-vba, bearbeiten

Bearbeiten Sie mehrere externe Links in Excel mit einem Makro - Excel, VBA, Excel-VBA, bearbeiten

Mein VBA-Wissen ist nicht makellos, also entschuldige ich mich im Voraus. Jeden Monat muss ich die Links in meinen Dateien bearbeiten, um den Referenzmonat zu ändern (z.

Ich habe folgendes Makro, um die externen Links auf einem Blatt aufzulisten (zB 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

Dort kopiere und füge ich diesen Bereich auf B1: B6 ein, und finde und ersetze den Monat (von Juli bis August). Ich habe also die neuen Links, die ich auf dem Blatt benötige.

Dann habe ich folgendes Makro:

Sub Linkupdate()

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

End Sub

Damit kann ich jeden Link ändern, aber wie definiere ich den gesamten Bereich (a1: a6), der mit (b1: b6) aktualisiert werden soll?

Danke vielmals!

TL; DR - Ich versuche, mehrere Links auf einer WB zu bearbeiten, ohne die Funktion zum Bearbeiten von Links zu verwenden. Als einzige Änderung muss ich den Monat ändern (zB: Jul -xxxxx in Aug -xxxxx)

Antworten:

0 für die Antwort № 1

Ich gehe davon aus, dass das, was Sie derzeit haben, einfach nur in einer Schleife abgespielt werden soll. Sie müssen eine Schleife ausführen, damit Excel weiß, wie viele Zellen erfasst werden sollen.

Etwas wie:

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