Wie kann ich mit einem VBA-Makro eine Zellverknüpfung zu einem anderen, nicht geöffneten Arbeitsblatt aktualisieren?

Antwort

Um eine Verknüpfung (z.B. eine Formel wie `='[AndereDatei.xlsx]Tabelle1'!A1`) in einer Zelle per VBA zu aktualisieren, ohne dass die verknüpfte Arbeitsmappe geöffnet ist, kannst du die Methode `UpdateLinks` verwenden. Diese Methode aktualisiert die externen Verknüpfungen in einer Arbeitsmappe. Hier ein Beispiel, wie du das per VBA machen kannst: ```vba Sub VerknuepfungenAktualisieren() ' Aktualisiert alle externen Verknüpfungen in der aktuellen Arbeitsmappe ThisWorkbook.UpdateLinks xlUpdateLinksExcelLinks End Sub ``` **Wichtige Hinweise:** - Die Methode funktioniert nur, wenn die Quelldatei (die andere Arbeitsmappe) gespeichert und zugänglich ist (z.B. im Netzwerk oder auf der Festplatte). - Die Quelldatei muss nicht geöffnet sein, aber sie darf nicht verschoben oder umbenannt worden sein, sonst schlägt die Aktualisierung fehl. - Wenn du gezielt nur eine bestimmte Verknüpfung aktualisieren möchtest, kannst du die Links auslesen und gezielt ansprechen: ```vba Sub BestimmteVerknuepfungAktualisieren() Dim links As Variant Dim i As Integer links = ThisWorkbook.LinkSources(xlLinkTypeExcelLinks) If Not IsEmpty(links) Then For i = 1 To UBound(links) If InStr(links(i), "AndereDatei.xlsx") > 0 Then ThisWorkbook.UpdateLink Name:=links(i), Type:=xlLinkTypeExcelLinks End If Next i End If End Sub ``` **Weitere Informationen:** - [Microsoft Dokumentation zu UpdateLinks](https://learn.microsoft.com/de-de/office/vba/api/excel.workbook.updatelinks) - [Microsoft Dokumentation zu LinkSources](https://learn.microsoft.com/de-de/office/vba/api/excel.workbook.linksources) Mit diesen Makros kannst du Verknüpfungen zu nicht geöffneten Arbeitsmappen aktualisieren.

KI fragen

Verwandte Fragen

Kann ich in Excel aus einer 'Private Sub Workbook_Open()' mit 'Call Private Sub Workbook_SheetBeforeRightClick' starten?

In Excel VBA ist es nicht möglich, ein **Worksheet-Ereignis** wie `Workbook_SheetBeforeRightClick` direkt mit `Call` aus einer anderen Prozedur (z.B. `Workbook_Open`) zu starten. Ereignisprozedur... [mehr]

Wie prüft man in Excel per VBA, ob in einer InputBox 'Abbrechen' gewählt wurde?

Um in Excel VBA zu prüfen, ob in einer InputBox auf "Abbrechen" geklickt wurde, kannst du den Rückgabewert der InputBox auswerten. Wird "Abbrechen" gewählt, gibt die... [mehr]

Wie lasse ich in Excel per VBA eine Messagebox erscheinen, wenn eine Zelle einen bestimmten Wert unterschreitet?

Um in Excel per VBA eine Messagebox erscheinen zu lassen, wenn eine Zelle einen bestimmten Wert unterschreitet, kannst du das Worksheet-Change-Ereignis verwenden. Hier ein Beispiel, wie du das umsetze... [mehr]

Wie kann ich mit VBA die Zelle mit dem Namen 'Konto' auswählen?

Um in VBA eine Zelle mit dem Namen „Konto“ auszuwählen, kannst du den Namen direkt über das `Range`-Objekt ansprechen. Voraussetzung ist, dass der Name „Konto“ als be... [mehr]

Wie setze ich Variablen beim Starten einer Excel-Tabelle mit VBA?

Um Variablen wie `Set wsKriterien = ThisWorkbook.Worksheets("Kriterien")` beim Starten einer Excel-Datei automatisch zu setzen, kannst du das Workbook-Open-Ereignis im VBA-Editor nutzen. So... [mehr]

Was bewirkt der VBA-Code ThisWorkbook.Names("z06_a1401111_Bericht").RefersToR1S1 = "='z06_a1401111_Bericht'!R1S1:R20S18"?

Der Ausdruck ```vba ThisWorkbook.Names("z06_a1401111_Bericht").RefersToR1S1 = "='z06_a1401111_Bericht'!R1S1:R20S18" ``` weist dem definierten Namen **z06_a1401111_Beric... [mehr]

Wie kann der VBA-Code angepasst werden, damit in 'Personen einzelnd drucken' der Name in Spalte C9-C66 gesucht und mit dem Wert im Arbeitsplan verglichen wird?

Um die Schleife so umzubauen, dass **in "Personen einzelnd drucken"** in den Zellen **C9:C66** nach dem Namen gesucht und mit der Spalte B im "Arbeitsplan" verglichen wird, muss di... [mehr]

Warum erkennt mein Excel VBA-Makro das Datum im Arbeitsplan nicht, obwohl es als Datum hinterlegt ist, aber in einer anderen Tabelle als Zahl angezeigt wird?

Das Problem liegt sehr wahrscheinlich an der Art, wie Excel intern mit Datumswerten umgeht. Ein Datum in Excel ist eigentlich eine Zahl (z.B. 45123 für den 01.09.2023), aber die Anzeige kann unte... [mehr]

Wie lege ich Drucktitel in Excel VBA fest?

Um in Excel VBA Drucktitel festzulegen, kannst du den folgenden Code verwenden. Dieser Code setzt die Drucktitel für die Zeilen und Spalten, die auf jeder gedruckten Seite wiederholt werden solle... [mehr]

Wie mache ich eine UND-Verknüpfung bei Excel in einer bedingten Formatierung?

Um eine UND-Verknüpfung in der bedingten Formatierung in Excel zu erstellen, kannst du folgende Schritte befolgen: 1. **Zelle auswählen**: Markiere die Zelle oder den Zellbereich, den du fo... [mehr]