Denne VBA -opplæringen dekker de forskjellige måtene å jobbe med hyperkoblinger i VBA.
VBA -hyperkoblinger
Med VBA kan du legge til hyperkoblinger, fjerne hyperkoblinger, opprette e -post med hyperkoblinger og åpne filer ved hjelp av hyperkoblinger i VBA.
Legg til en hyperkobling med VBA
Hyperlinks.Add -metoden legger til en hyperkobling til en celle ved hjelp av VBA.
Følgende kode vil legge til en hyperkobling til celle A1:
123 | Sub AddHyperlinkToCell ()ActiveSheet.Hyperlinks.Add Range ("A1"), Address: = "https://www.automateexcel.com/excel/"Slutt Sub |
Resultatet er:
Legge til tekst i displayet med VBA
Du kan legge til fin brukervennlig tekst for å vise til hyperkoblingen din med VBA. Hvis du brukte regnearkfunksjonaliteten, ville du sette inn en hyperkobling og deretter legge til en tekst som skal vises i dialogboksen.
Koden nedenfor viser hvordan du legger til tekst for å vise til hyperkoblingen din ved hjelp av VBA:
123 | Sub TextToDisplayForHyperlink ()ActiveSheet.Hyperlinks.Add Range ("A1"), Adresse: = "https://www.automateexcel.com/excel/", TextToDisplay: = "Automatiser Excel"Slutt Sub |
Resultatet er:
Legge til et ScreenTip med VBA
Du kan legge til et ScreenTip i hyperkoblingen din som seeren vil se når den holder musepekeren over lenken.
Koden nedenfor viser hvordan du legger til et ScreenTip til hyperkoblingen din ved hjelp av VBA:
123 | Sub ScreenTipForHyperlink ()ActiveSheet.Hyperlinks.Add Range ("A1"), Address: = "https://www.automateexcel.com/excel/", TextToDisplay: = "Automate Excel", ScreenTip: = "This is the link for Automate Excel"Slutt Sub |
Resultatet er:
Slett en hyperkobling med VBA
Hyperlinks.Delete -metoden kan brukes til å slette en hyperkobling fra en celle.
Følgende kode vil slette hyperkoblingen fra celle A1 og teksten i cellen.
Vær oppmerksom på at bare sletting av hyperkoblingen ikke sletter selve teksten. Derfor må du også bruke Clear -metoden hvis du vil at teksten skal slettes.
1234 | Sub DeleteHyperlinkinCell ()Område ("A1"). Hyperkoblinger. SlettOmråde ("A1"). KlarSlutt Sub |
Slett alle hyperkoblingene i et regneark
Du kan også slette alle hyperkoblingene i regnearket ved hjelp av Hyperlinks.Delete -metoden.
Følgende kode vil slette alle hyperkoblingene i det første regnearket i arbeidsboken din:
123 | Sub RemoveAllHyperlinksInASheet ()ThisWorkbook.Sheets (1) .Hyperlinks.DeleteSlutt Sub |
Følg en nettstedskobling med VBA
Følgende kode lar deg åpne en nettstedsadresse i et nytt vindu i nettleseren din ved hjelp av FollowHyperlink -metoden i arbeidsboken din:
123 | Sub FollowHyperlinkForWebsite ()ActiveWorkbook.FollowHyperlink Address: = "https://www.automateexcel.com/excel", NewWindow: = TrueSlutt Sub |
Følg en hyperkobling til en mappe på stasjonen din
Følgende kode åpner en mappe kalt ExcelFiles på skrivebordet ved hjelp av FollowHyperlink -metoden:
123 | Sub FollowHyperlinkForFolderOnDrive ()ActiveWorkbook.FollowHyperlink Address: = "C: \ Desktop \ ExcelFiles"Slutt Sub |
Følg en hyperkobling til en fil på stasjonen din
Følgende kode åpner en Excel -fil kalt WorkbookOne i mappen ExcelFiles på skrivebordet ved hjelp av FollowHyperlink -metoden:
123 | Sub FollowHyperlinkForFile ()ActiveWorkbook.FollowHyperlink Address: = "C: \ Desktop \ ExcelFiles \ WorkbookOne.xlsx", NewWindow: = TrueSlutt Sub |
Gå til en celle i et annet ark i den samme arbeidsboken
Du kan legge til en hyperkobling til en celle i ett ark som tar deg til et annet ark, i den samme arbeidsboken med VBA. La oss si at du er på Sheet1, celle A1 i arbeidsboken din, og at du vil sette inn en hyperkobling til Sheet2, celle B2 i den samme arbeidsboken, du kan bruke SubAddress -egenskapen til å gjøre dette.
Følgende kode viser hvordan du gjør dette:
123 | Sub GoToAnotherCellInAnotherSheetInTheSameWorkbook ()ActiveSheet.Hyperlinks.Add Range ("A1"), Address: = "", SubAddress: = "'" & Sheet2.Name & "'! B2", TextToDisplay: = "Klikk her for å gå til Sheet2, celle B2 i samme arbeidsbok "Slutt Sub |
Vis alle hyperkoblingene i et regneark
Du kan få tilgang til hyperkoblingssamlingen og vise alle hyperkoblingene i regnearket i Mellomvindu i VBA Editor. Du må først trykke CTRL+G på tastaturet eller gå til Vis> Mellomvindu i VBE Editor, for å se mellomvinduet.
Følgende kode viser hvordan du viser hyperkoblingene i regnearket i mellomvinduet:
1234567891011 | Sub ShowAllTheHyperlinksInTheWorksheet ()Dim ws Som regnearkSett ws = ThisWorkbook.Sheets (1)For hver lnk i m. HyperkoblingerDebug.Print lnk.AddressNeste lnkSlutt Sub |
Resultatene vises i mellomvinduet.
Vis alle hyperkoblingene i en arbeidsbok
Du kan få tilgang til hyperkoblingssamlingen for å gå gjennom og vise alle hyperkoblingene i arbeidsboken din i en meldingsboks.
Følgende kode viser hvordan du gjør dette, og bruker en nestet sløyfe for å oppnå dette:
1234567891011 | Sub ShowAllTheHyperlinksInTheWorkbook ()Dim ws Som regnearkFor hver gang i ActiveWorkbook.WorksheetsFor hver lnk i m. HyperkoblingerMsgBox lnk.AdressNeste lnkNeste wsSlutt Sub |
Bruke FollowHyperlink -metoden for å lage e -post
Du kan også opprette e -post ved å følge FollowHyperlink -metoden.
Koden nedenfor viser deg hvordan du oppretter e -post med FollowHyperlink -metoden i VBA:
12345678 | Sub SendEmailUsingHyperlink ()Dim msgLink As StringmsgLink = "mailto:" & "[email protected]" & "?" & "subject =" & "Hello" & "&" & "body =" & "How are you?"ActiveWorkbook.FollowHyperlink (msgLink)Slutt Sub |
Resultatet er:
Legge til en hyperkobling til en AutoShape i Excel
Du kan legge til en hyperkobling til en Autoshape i Excel, slik at når brukeren klikker på formen, blir de tatt til en nettstedsadresse.
Følgende kode oppretter et avrundet rektangel, legger til teksten i rektanglet og legger til en hyperkobling til rektanglet:
12345678910111213 | Sub AddingAHyperlinkToAShape ()Dim myShape As ShapeAngi myDocument = Regneark ("Ark1")Angi myShape = myDocument.Shapes.AddShape (msoShapeRoundedRectangle, 100, 100, 90, 30)Med myShape.TextFrame.Characters.Text = "Automatiser Excel"Slutt medActiveSheet.Hyperlinks.Add Anchor: = myShape, Address: = "https://www.automateexcel.com/excel"Slutt Sub |
Resultatet er:
Sette inn hyperkoblingsformelen i en celle ved hjelp av VBA
La oss si at du har en innleggstittel i celle A4 og en innleggskobling i celle B4 som vist på bildet nedenfor.
En rask påminnelse om syntaksen for hyperkoblingsformelen i regnearket er:
HYPERLINK (link_location, [friendly_name])
link_location - Dette er lenken til dokumentet, filen, stedet i arbeidsboken eller nettstedet.
vennlig navn - (Valgfri) - Teksten eller den numeriske verdien som vises i cellen.
I celle C4 vil du legge til hyperkoblingen med en vennlig tekst å vise, nå vil du vanligvis skrive inn formelen = HYPERLINK (B4, A4) i C4 for å få følgende:
Du kan i stedet bruke VBA for å oppnå det samme resultatet, og sette inn denne formelen i cellen på Sheet1 med følgende kode:
123 | Sub InsertHyperlinkFormulaInCell ()ActiveWorkbook.Worksheets ("Ark1"). Område ("C4"). Formel = "= hyperkobling (B4, A4)"Slutt Sub |
Legge til en hyperkobling til en knapp i Access
VBA lar deg også jobbe med hyperkoblinger i Access. La oss si at vi har en knapp på et skjema, og når brukeren klikker på den knappen, vil vi at de skal tas til et nettsted. En måte du kan bruke dette på, er gjennom Application.FollowHyperlink -metoden.
Vi har vårt eksempelskjema med en knapp kalt buttonOne vist nedenfor.
Koden for denne knappen vil være:
12345 | Privat sub -knapp One_Click ()Application.FollowHyperlink ("https://www.automateexcel.com/excel/")Slutt Sub |
Opprette en hyperkobling fra et utvalg i Word
Du kan også jobbe med hyperkoblinger i Word VBA.
La oss si at vi har tekst Ord som sier "Klikk her for å bli tatt til Automate Excel -nettstedet", som er valgt som vist nedenfor.
For å gjøre denne teksten til en hyperkobling ved hjelp av VBA, kan du bruke følgende kode:
123 | Private Sub TurnASelectionIntoAHyperlink ()ActiveDocument.Hyperlinks.Add Anchor: = Selection.Range, Address: = "https://www.automateexcel.com/excel/", ScreenTip: = "Click Here Please", Target: = NewWindowSlutt Sub |
Resultatet er: