Du kan enkelt sette inn bilder i Excel-regneark og redigere dem med makrokode. Slik setter du inn et bilde i en celle ved hjelp av VBA i Excel .
Visual Basic for Applications, forkortet til VBA, er en form for Visual Basic 6 integrert i Microsoft Office-programmer. Gjennom koding lar VBA deg automatisere oppgaver i Office-applikasjoner, inkludert Excel. I noen tilfeller kan du til og med legge til nye funksjoner i Excel ved hjelp av VBA.
Selv om du må jobbe med kode for å bruke VBA, betyr det ikke at VBA er full av bokstaver og tall. Med VBA i Excel kan du lage en makro som lar deg sette inn et bilde i en celle eller et celleområde. Her er det du trenger å vite om å sette inn bilder i celler i Excel ved hjelp av VBA.
Hvordan sette inn bilder i celler ved hjelp av VBA i Excel
For å lage en makro som setter inn et bilde i en Excel-celle ved hjelp av VBA, trenger du egentlig ingen avansert Visual Basic-kunnskap. Alt du trenger å gjøre er å slå på utviklerverktøy, lage en makro og lime inn riktig kode. Du kan selvfølgelig også sette inn bilder i Excel uten å bruke VBA. I denne artikkelen vil vi imidlertid fokusere på VBA.
1. Slå på utviklerverktøy
For å bruke VBA i Excel, må du aktivere utviklerverktøy. Denne handlingen vil aktivere Utvikler-fanen på båndet, som er deaktivert som standard.
- Åpne Excel .
- Gå til Fil- menyen .
- Klikk på Alternativer nederst på skjermen. Vinduet for Excel-alternativer vises.
- I Excel-alternativer går du til Tilpass bånd- fanen .
- Merk av for Utvikler i hovedfaner .
Nå er utviklerverktøy, inkludert VBA-tilgang, aktivert. Du trenger ikke gjøre dette hver gang du vil bruke VBA i Excel. Utviklerverktøy vil alltid være aktivert til du deaktiverer dem.
2. Lag makroer og sett inn kode
- Gå til Utvikler- fanen i Excel .
- I Kode-delen velger du Makroer .
- I det nye vinduet skriver du inn makronavnet ditt i Makronavn . Artikkelen vil bruke insertPhotoMacro .
- Klikk på Opprett .
Etter å ha klikket Opprett, åpnes VBA-vinduet og viser koden for makroen din. For øyeblikket vil koden bestå av 2 linjer: en Sub for å starte makroen og en End Sub for å avslutte den.
Legg til en liten kode til denne makroen. Legg til følgende kodelinje mellom de to linjene:
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 koden vil se slik ut:
Du trenger ikke å bekymre deg for å lagre denne prosessen. Eventuelle endringer du gjør i VBA lagres umiddelbart.
Nå er det på tide å se koden i aksjon:
- Lukk VBA-vinduet.
- Gå til Utvikler- fanen i Excel.
- Velg Makroer fra Kode-delen.
- Marker makroen du nettopp opprettet.
- Klikk Kjør .
Nå åpnes en melding som ber deg finne bildefilen du vil sette inn. Velg bildet, og klikk deretter Åpne. Du vil nå se bildet i celle A1.
Merk at Excel krymper bildet slik at det passer i celle A1. Du kan endre den og endre koden for å sette inn bilder i andre celler, til og med en rekke celler. I neste avsnitt vil vi skille koden og forklare parameterne.
3. Del kode
For at VBA-koden skal fungere slik du vil, må du forstå den. Når du gjør dette, kan du endre koden for å sette inn bilder i en hvilken som helst celle uansett 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 begynner, brukes Dim-setningen til å bestemme variabeltypen. Vi har to variable typer: photoNameAndPath og photo . Først variabelen og deretter bildet.
Derfra kjører variabelen photoNameAndPath , og den vil åpne et program for å finne plasseringen til bildefilen. Dette gjøres via Application.GetOpenFileName . Tittelparameteren er valgfri . Innholdet i den vises som vinduets navn.
Ved å bruke If photoNameAndPath = False Then Exit Sub , hvis en ugyldig eller tom adresse er gitt, vil prosessen avsluttes. Men hvis en passende fil leveres, indikerer Set photo = ActiveSheet.Pictures.Insert(photoNameAndPath) at bildet skal settes som en variabel som opprinnelig definert. Det vil bli satt inn i det aktive regnearket.
Til slutt bruker du Med bilde og de 5 linjene etter det for å bestemme plasseringen av bildet. .Venstre og .Topp refererer til startposisjonen, mens .Bredde og .Høyde refererer til sluttposisjonen. Hvis du har tenkt å sette inn bilder i en annen celle eller et område, er disse linjene du bør endre.
.Plassering indikerer at bildet skal endres for å passe til cellen eller innsatt friform. Hvis du setter den til 1, endres størrelsen på den i henhold til cellen.
Til slutt bruker koden ovenfor End With , deretter End Sub for å lukke makroen. Nå kan du endre variablene photoNameAndPath og photo til et hvilket som helst annet navn du liker. Bare husk å holde navnene konsekvente gjennom hele koden.
Ovenfor er hvordan du bruker VBA til å sette inn bilder i celler i Excel . Håper artikkelen er nyttig for deg.