Bill verfügt über mehrere Arbeitsmappen, die er häufig als Suite verwendet.

Um neugierige Blicke auf den Inhalt dieser Arbeitsmappen zu vermeiden, hat er für jede ein Kennwort festgelegt. Bill verwendet eine Menüarbeitsmappe als Gateway zu den anderen Arbeitsmappen in der Suite. Die Arbeitsmappe enthält Hyperlinks zu den einzelnen Arbeitsmappen, sodass er schnell auf die Arbeitsmappen in seiner Suite zugreifen kann.

Da Excel jede Arbeitsmappe auf Dateiebene über ein Kennwort schützt, muss Bill jedes Mal, wenn er auf einen Hyperlink klickt, das Kennwort für die Arbeitsmappe eingeben, auf die er zugreifen möchte. Er fragt sich, ob es eine Möglichkeit gibt, das Kennwort einfach einmal einzugeben (es ist das gleiche Kennwort für alle Arbeitsmappen in seiner Suite) und auf alle Arbeitsmappen zuzugreifen, ohne das Kennwort wiederholt eingeben zu müssen.

Die kurze Antwort lautet, dass dies nicht möglich ist, da Excel jede Datei separat behandelt. Wechseln Sie über Ihren Hyperlink zu einer separaten Datei, und Excel fragt erneut nach dem Kennwort. Es gibt nur zwei Möglichkeiten, um den Ärger zu vermeiden. Die erste besteht darin, alle separaten Arbeitsmappen in einer einzigen Arbeitsmappe zu kombinieren. Dies ist aus einer Reihe von Gründen möglicherweise keine optimale Lösung. (Beispielsweise müssen Sie möglicherweise einzelne Arbeitsmappen an andere Benutzer verteilen. Wenn Sie alle Arbeitsmappen zu einer kombinieren, entfernen Sie diese Funktion.)

Die andere Lösung besteht darin, ein Makro zu verwenden, um zwischen Arbeitsmappen zu wechseln, anstatt Hyperlinks zu verwenden. Es gibt viele Möglichkeiten, ein solches Makrosystem einzurichten. Eine einfache Möglichkeit, die Hyperlink-Methode nachzuahmen, besteht darin, ein neues Arbeitsblatt zu erstellen, das als „Gateway“ fungiert. Platzieren Sie stattdessen in den Zellen, in denen Sie Hyperlinks hinzugefügt hätten, den vollständigen Pfad und Dateinamen jeder Arbeitsmappe, mit der Sie einen Link erstellen möchten.

Am Ende sollten Sie eine Liste der Dateispezifikationen für Ihre Arbeitsmappen erhalten.

Klicken Sie nun mit der rechten Maustaste auf die Registerkarte Blatt dieses neuen Arbeitsblatts. Excel zeigt ein Kontextmenü an, in dem Sie Code anzeigen auswählen sollten. Dadurch wird der VBA-Editor mit dem für das Arbeitsblatt angezeigten Codebereich angezeigt. Geben Sie das folgende Makro in den Codebereich ein:

Private Sub Worksheet_BeforeDoubleClick _   (ByVal Target As Excel.Range, Cancel As Boolean)

Dim sPW As String     Dim sFile As String

sPW = "password" 'Change to your password     sFile = Target.Value     If sFile <> "" Then         If Dir(sFile) <> "" Then             Workbooks.Open _               FileName:=sFile, _               password:=sPW             Cancel = True         End If     End If End Sub

Das einzige, was Sie im Code ändern müssen, ist das Kennwort, das Sie für die Arbeitsmappen verwenden möchten, auf die Sie zugreifen. (Der Code setzt voraus, dass für alle Arbeitsmappen dasselbe Kennwort verwendet wird.)

Drücken Sie Alt + Q, um den VBA-Editor zu verlassen, und Sie befinden sich wieder in Ihrem Arbeitsblatt. Speichern Sie die Arbeitsmappe und doppelklicken Sie dann auf eine der Zellen, die den Pfad und die Dateinamen enthalten. Excel übergibt dann die Steuerung an das Makro, das den Pfad und den Dateinamen erfasst und dann diese Arbeitsmappe öffnet.

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.

Dieser Tipp (8109) gilt für Microsoft Excel 2007, 2010, 2013, 2016, 2019 und Excel in Office 365. Eine Version dieses Tipps für die ältere Menüoberfläche von Excel finden Sie hier: