Dieses VBA-Tutorial behandelt die verschiedenen Möglichkeiten, mit Hyperlinks in VBA zu arbeiten.
VBA-Hyperlinks
Mit VBA können Sie Hyperlinks hinzufügen, Hyperlinks entfernen, E-Mails mithilfe von Hyperlinks erstellen und Dateien mithilfe von Hyperlinks in VBA öffnen.
Fügen Sie einen Hyperlink mit VBA hinzu
Die Hyperlinks.Add-Methode fügt einer Zelle mithilfe von VBA einen Hyperlink hinzu.
Der folgende Code fügt Zelle A1 einen Hyperlink hinzu:
123 | Sub AddHyperlinkToCell()ActiveSheet.Hyperlinks.Add Range("A1"), Adresse:="https://www.automateexcel.com/excel/"End Sub |
Das Ergebnis ist:
Hinzufügen von Text zur Anzeige mit VBA
Sie können Ihrem Hyperlink mit VBA übersichtlichen, benutzerfreundlichen Text hinzufügen, der angezeigt werden soll. Wenn Sie die Arbeitsblattfunktionalität verwendet haben, fügen Sie einen Hyperlink ein und fügen dann einen Text hinzu, der im bereitgestellten Dialogfeld angezeigt werden soll.
Der folgende Code zeigt, wie Sie Ihrem Hyperlink mithilfe von VBA Text hinzufügen, der angezeigt werden soll:
123 | SubtextToDisplayForHyperlink()ActiveSheet.Hyperlinks.Add Range("A1"), Adresse:="https://www.automateexcel.com/excel/", TextToDisplay:="Automate Excel"End Sub |
Das Ergebnis ist:
Hinzufügen einer QuickInfo mit VBA
Sie können Ihrem Hyperlink eine QuickInfo hinzufügen, die der Betrachter sieht, wenn er mit der Maus über den Link fährt.
Der folgende Code zeigt, wie Sie Ihrem Hyperlink mithilfe von VBA eine QuickInfo hinzufügen:
123 | Sub ScreenTipForHyperlink()ActiveSheet.Hyperlinks.Add Range("A1"), Address:="https://www.automateexcel.com/excel/", TextToDisplay:="Automate Excel", ScreenTip:="Dies ist der Link für Automate Excel"End Sub |
Das Ergebnis ist:
Löschen Sie einen Hyperlink mit VBA
Die Hyperlinks.Delete-Methode kann verwendet werden, um einen Hyperlink aus einer Zelle zu löschen.
Der folgende Code löscht den Hyperlink aus Zelle A1 und den Text in der Zelle.
Beachten Sie, dass durch das bloße Löschen des Hyperlinks nicht der Text selbst gelöscht wird. Wenn Sie den Text löschen möchten, müssen Sie auch die Clear-Methode verwenden.
1234 | Sub DeleteHyperlinkinCell()Bereich("A1").Hyperlinks.LöschenBereich("A1").ClearEnd Sub |
Löschen Sie alle Hyperlinks in einem Arbeitsblatt
Sie können alle Hyperlinks in Ihrem Arbeitsblatt auch mit der Methode Hyperlinks.Delete löschen.
Der folgende Code löscht alle Hyperlinks im ersten Arbeitsblatt in Ihrer Arbeitsmappe:
123 | Sub RemoveAllHyperlinksInASheet()ThisWorkbook.Sheets(1).Hyperlinks.DeleteEnd Sub |
Folgen Sie einem Website-Hyperlink mit VBA
Mit dem folgenden Code können Sie eine Website-Adresse in einem neuen Fenster in Ihrem Browser öffnen, indem Sie die FollowHyperlink-Methode in Ihrer Arbeitsmappe verwenden:
123 | Sub FollowHyperlinkForWebsite()ActiveWorkbook.FollowHyperlink-Adresse:="https://www.automateexcel.com/excel", NewWindow:=TrueEnd Sub |
Folgen Sie einem Hyperlink zu einem Ordner auf Ihrem Laufwerk
Der folgende Code öffnet einen Ordner namens ExcelFiles auf dem Desktop mithilfe der FollowHyperlink-Methode:
123 | Sub FollowHyperlinkForFolderOnDrive()ActiveWorkbook.FollowHyperlink-Adresse:="C:\Desktop\ExcelFiles"End Sub |
Folgen Sie einem Hyperlink zu einer Datei auf Ihrem Laufwerk
Der folgende Code öffnet eine Excel-Datei namens WorkbookOne im Ordner namens ExcelFiles auf dem Desktop mithilfe der FollowHyperlink-Methode:
123 | Sub FollowHyperlinkForFile()ActiveWorkbook.FollowHyperlink Adresse:="C:\Desktop\ExcelFiles\WorkbookOne.xlsx", NewWindow:=TrueEnd Sub |
Gehen Sie zu einer Zelle in einem anderen Blatt in derselben Arbeitsmappe
Sie können einer Zelle in einem Blatt einen Hyperlink hinzufügen, der Sie zu einem anderen Blatt in derselben Arbeitsmappe mit VBA führt. Angenommen, Sie befinden sich in Blatt1, Zelle A1 Ihrer Arbeitsmappe und möchten einen Hyperlink zu Blatt2, Zelle B2 derselben Arbeitsmappe, einfügen. Dazu können Sie die SubAddress-Eigenschaft verwenden.
Der folgende Code zeigt, wie das geht:
123 | Unter GoToAnotherCellInAnotherSheetInTheSameWorkbook()ActiveSheet.Hyperlinks.Add Range("A1"), Address:="", SubAddress:="'" & Sheet2.Name & "'!B2", TextToDisplay:="Click Here to Go to Sheet2, cell B2 of the gleiche Arbeitsmappe"End Sub |
Alle Hyperlinks in einem Arbeitsblatt anzeigen
Sie können auf die Hyperlinks-Sammlung zugreifen und alle Hyperlinks in Ihrem Arbeitsblatt im Zwischenfenster im VBA-Editor. Sie müssen zuerst drücken STRG+G auf deiner Tastatur oder gehe zu Ansicht>Zwischenfenster im VBE-Editor, um das Zwischenfenster anzuzeigen.
Der folgende Code zeigt, wie Sie die Hyperlinks in Ihrem Arbeitsblatt im Zwischenfenster anzeigen:
1234567891011 | Sub ShowAllTheHyperlinksInTheWorksheet()Dim ws als ArbeitsblattSet ws = ThisWorkbook.Sheets(1)Für jeden Link in ws.HyperlinksDebug.Print lnk.AdresseNächster LinkEnd Sub |
Die Ergebnisse werden im Zwischenfenster angezeigt.
Alle Hyperlinks in einer Arbeitsmappe anzeigen
Sie können auf die Hyperlinks-Sammlung zugreifen, um alle Hyperlinks in Ihrer Arbeitsmappe zu durchlaufen und in einem Meldungsfeld anzuzeigen.
Der folgende Code zeigt, wie dies geht, und verwendet eine verschachtelte Schleife, um dies zu erreichen:
1234567891011 | Sub ShowAllTheHyperlinksInTheWorkbook()Dim ws als ArbeitsblattFür jedes ws in ActiveWorkbook.WorksheetsFür jeden Link in ws.HyperlinksMsgBox lnk.AdresseNächster LinkNächstes wsEnd Sub |
Verwenden der FollowHyperlink-Methode zum Erstellen von E-Mails
Sie können E-Mails auch mit der FollowHyperlink-Methode erstellen.
Der folgende Code zeigt Ihnen, wie Sie E-Mails mit der FollowHyperlink-Methode in VBA erstellen:
12345678 | Sub SendEmailUsingHyperlink()msgLink als String dimmenmsgLink = "mailto:" & "[email protected]" & "?" & "subject=" & "Hallo" & "&" & "body=" & "Wie geht es dir?"ActiveWorkbook.FollowHyperlink (msgLink)End Sub |
Das Ergebnis ist:
Hinzufügen eines Hyperlinks zu einer AutoForm in Excel
Sie können einem Autoshape in Excel einen Hyperlink hinzufügen, damit der Benutzer, wenn er auf das Shape klickt, zu einer Website-Adresse weitergeleitet wird.
Der folgende Code erstellt ein abgerundetes Rechteck, fügt dem Rechteck den Text hinzu und fügt dem Rechteck einen Hyperlink hinzu:
12345678910111213 | Unter HinzufügenAHyperlinkToAShape()MyShape als Form dimmenSet myDocument = Worksheets("Sheet1")Set myShape = myDocument.Shapes.AddShape(msoShapeRoundedRectangle, 100, 100, 90, 30)Mit myShape.TextFrame.Characters.Text = "Excel automatisieren"Ende mitActiveSheet.Hyperlinks.Add Anchor:=myShape, Adresse:="https://www.automateexcel.com/excel"End Sub |
Das Ergebnis ist:
Einfügen der Hyperlink-Formel in eine Zelle mit VBA
Angenommen, Sie haben einen Beitragstitel in Zelle A4 und einen Beitragslink in Zelle B4, wie in der Abbildung unten gezeigt.
Eine kurze Erinnerung an die Arbeitsblatt-Hyperlink-Formelsyntax lautet:
HYPERLINK(link_location, [freundlicher_name])
link_location - Dies ist der Link zu dem Dokument, der Datei oder dem Ort in der Arbeitsmappe oder Online-Site.
freundlicher_name - (Optional) – Der Text oder der numerische Wert, der in der Zelle angezeigt wird.
In Zelle C4 möchten Sie den Hyperlink mit einem anzuzeigenden Text hinzufügen. Normalerweise geben Sie jetzt die Formel = HYPERLINK (B4, A4) in C4 ein, um Folgendes zu erhalten:
Sie können stattdessen VBA verwenden, um das gleiche Ergebnis zu erzielen, und diese Formel in die Zelle auf Sheet1 mit dem folgenden Code einfügen:
123 | Sub InsertHyperlinkFormulaInCell()ActiveWorkbook.Worksheets("Sheet1").Range("C4").Formula = "=Hyperlink(B4,A4)"End Sub |
Hinzufügen eines Hyperlinks zu einer Schaltfläche in Access
Mit VBA können Sie auch in Access mit Hyperlinks arbeiten. Nehmen wir an, wir haben eine Schaltfläche in einem Formular und wenn der Benutzer auf diese Schaltfläche klickt, möchten wir, dass er zu einer Website weitergeleitet wird. Eine Möglichkeit hierfür ist die Application.FollowHyperlink-Methode.
Wir haben unser Beispielformular mit einer Schaltfläche namens buttonOne unten gezeigt.
Der Code für diese Schaltfläche wäre:
12345 | Private Sub-SchaltflächeOne_Click()Anwendung.FolgenHyperlink ("https://www.automateexcel.com/excel/")End Sub |
Erstellen eines Hyperlinks aus einer Auswahl in Word
Sie können auch in Word VBA mit Hyperlinks arbeiten.
Nehmen wir an, wir haben Text in Wort das heißt "Klicken Sie hier, um zur Automate Excel-Website weitergeleitet zu werden", die wie unten gezeigt ausgewählt wird.
Um diesen Text mit VBA in einen Hyperlink umzuwandeln, können Sie den folgenden Code verwenden:
123 | Private Sub TurnASelectionIntoAHyperlink()ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, Address:="https://www.automateexcel.com/excel/", ScreenTip:="Klicken Sie hier bitte", Target:=NewWindowEnd Sub |
Das Ergebnis ist: