Du kan nemt indsætte billeder i Excel-regneark og redigere dem med makrokode. Sådan indsætter du et billede i en celle ved hjælp af VBA i Excel .
Visual Basic for Applications, forkortet til VBA, er en form for Visual Basic 6 integreret i Microsoft Office-programmer. Gennem kodning giver VBA dig mulighed for at automatisere opgaver i Office-applikationer, herunder Excel. I nogle tilfælde kan du endda tilføje nye funktioner til Excel ved hjælp af VBA.
Selvom du skal arbejde med kode for at bruge VBA, betyder det ikke, at VBA er fuld af bogstaver og tal. Med VBA i Excel kan du oprette en makro, der giver dig mulighed for at indsætte et billede i en celle eller et celleområde. Her er hvad du behøver at vide om at indsætte billeder i celler i Excel ved hjælp af VBA.
Sådan indsætter du billeder i celler ved hjælp af VBA i Excel
For at oprette en makro, der indsætter et billede i en Excel-celle ved hjælp af VBA, behøver du virkelig ikke nogen avanceret Visual Basic-viden. Alt du skal gøre er at slå udviklerværktøjer til, oprette en makro og indsætte den relevante kode. Du kan selvfølgelig også indsætte billeder i Excel uden at bruge VBA. I denne artikel vil vi dog fokusere på VBA.
1. Slå udviklerværktøjer til
For at bruge VBA i Excel skal du aktivere udviklerværktøjer. Denne handling aktiverer fanen Udvikler på båndet, som er deaktiveret som standard.
- Åbn Excel .
- Gå til menuen Filer .
- Klik på Indstillinger nederst på skærmen. Vinduet Excel-indstillinger vises.
- Gå til fanen Tilpas bånd i Excel-indstillinger .
- Marker Udvikler i Hovedfaner .
Nu er udviklerværktøjer, inklusive VBA-adgang, aktiveret. Du behøver ikke at gøre dette, hver gang du vil bruge VBA i Excel. Udviklerværktøjer vil altid være aktiveret, indtil du deaktiverer dem.
2. Opret makroer og indsæt kode
- Gå til fanen Udvikler i Excel .
- I sektionen Kode skal du vælge Makroer .
- I det nye vindue skal du indtaste dit makronavn i Makronavn . Artiklen vil bruge insertPhotoMacro .
- Klik på Opret .
Når du har klikket på Opret, åbnes VBA-vinduet og viser koden til din makro. I øjeblikket vil koden bestå af 2 linjer: en Sub for at starte makroen og en End Sub for at afslutte den.
Tilføj en lille kode til denne makro. Tilføj følgende kodelinje mellem de to linjer:
Dim photoNameAndPath As Variant
Dim photo As Picture
photoNameAndPath = Application.GetOpenFilename(Title:="Select Photo to Insert")
If photoNameAndPath = False Then Exit Sub
Set photo = ActiveSheet.Pictures.Insert(photoNameAndPath)
With photo
.Left = ActiveSheet.Range("A1").Left
.Top = ActiveSheet.Range("A1").Top
.Width = ActiveSheet.Range("A1").Width
.Height = ActiveSheet.Range("A1").Height
.Placement = 1
End With
Den endelige kode vil se sådan ud:
Du behøver ikke bekymre dig om at gemme denne proces. Alle ændringer, du foretager i VBA, gemmes med det samme.
Nu er det tid til at se koden i aktion:
- Luk VBA-vinduet.
- Gå til fanen Udvikler i Excel.
- Vælg makroer i sektionen Kode.
- Fremhæv den makro, du lige har oprettet.
- Klik på Kør .
Nu åbnes en meddelelse, der beder dig om at finde den billedfil, du vil indsætte. Vælg billedet, og klik derefter på Åbn. Du vil nu se billedet i celle A1.
Bemærk, at Excel formindsker billedet, så det passer i celle A1. Du kan ændre det og ændre koden for at indsætte billeder i andre celler, endda en række celler. I næste afsnit vil vi adskille koden og forklare parametrene.
3. Split kode
For at VBA-koden skal fungere, som du ønsker, skal du forstå den. Når du gør dette, kan du ændre koden for at indsætte billeder i enhver celle i enhver størrelse.
Sub insertPhotoMacro()
Dim photoNameAndPath As Variant
Dim photo As Picture
photoNameAndPath = Application.GetOpenFilename(Title:="Select Photo to Insert")
If photoNameAndPath = False Then Exit Sub
Set photo = ActiveSheet.Pictures.Insert(photoNameAndPath)
With photo
.Left = ActiveSheet.Range("A1").Left
.Top = ActiveSheet.Range("A1").Top
.Width = ActiveSheet.Range("A1").Width
.Height = ActiveSheet.Range("A1").Height
.Placement = 1
End With
End Sub
Når koden begynder, bruges Dim-sætningen til at bestemme variabeltypen. Vi har to variable typer: photoNameAndPath og photo . Først variablen og derefter billedet.
Derfra kører variablen photoNameAndPath , og den åbner et program for at få placeringen af fotofilen. Dette gøres via Application.GetOpenFileName . Parameteren Titel er valgfri. Indholdet i det vises som vinduesnavnet.
Ved at bruge If photoNameAndPath = False Then Exit Sub , hvis en ugyldig eller tom adresse er angivet, afsluttes processen. Men hvis en passende fil leveres, angiver Set photo = ActiveSheet.Pictures.Insert(photoNameAndPath) , at billedet skal indstilles som en variabel som oprindeligt defineret. Det vil blive indsat i det aktive regneark.
Til sidst skal du bruge Med foto og de 5 linjer efter det til at bestemme placeringen af billedet. .Venstre og .Top henviser til startpositionen, mens .Bredde og .Højde refererer til slutpositionen. Hvis du har til hensigt at indsætte billeder i en anden celle eller et område, er det disse linjer, du skal ændre.
.Placering angiver, at billedet skal ændres, så det passer til cellen eller indsat fri form. Hvis du indstiller den til 1 , ændres størrelsen på den i henhold til cellen.
Til sidst bruger ovenstående kode End With , derefter End Sub for at lukke makroen. Nu kan du ændre variablerne photoNameAndPath og photo til et hvilket som helst andet navn, du kan lide. Bare husk at holde navnene konsekvente gennem hele koden.
Ovenstående er, hvordan du bruger VBA til at indsætte billeder i celler i Excel . Håber artiklen er nyttig for dig.