U kunt eenvoudig afbeeldingen in Excel-spreadsheets invoegen en deze bewerken met macrocode. U kunt als volgt een afbeelding in een cel invoegen met VBA in Excel .

Visual Basic for Applications, afgekort als VBA, is een vorm van Visual Basic 6 geïntegreerd in Microsoft Office-programma's. Door middel van codering kunt u met VBA taken in Office-toepassingen, waaronder Excel, automatiseren. In sommige gevallen kunt u met VBA zelfs nieuwe functies aan Excel toevoegen.
Ook al moet je met code werken om VBA te gebruiken, dat betekent niet dat VBA vol letters en cijfers zit. Met VBA in Excel kunt u een macro maken waarmee u een afbeelding in een cel of celbereik kunt invoegen. Dit is wat u moet weten over het invoegen van afbeeldingen in cellen in Excel met behulp van VBA.
Hoe afbeeldingen in cellen in te voegen met VBA in Excel
Om een macro te maken die een afbeelding in een Excel-cel invoegt met behulp van VBA, heb je echt geen geavanceerde Visual Basic-kennis nodig. Het enige dat u hoeft te doen, is de ontwikkelaarstools inschakelen, een macro maken en de juiste code plakken. Uiteraard kunt u ook zonder VBA afbeeldingen in Excel invoegen. In dit artikel zullen we ons echter concentreren op VBA.
1. Schakel ontwikkelaarstools in
Om VBA in Excel te gebruiken, moet u ontwikkelaarstools inschakelen. Met deze actie wordt het tabblad Ontwikkelaars op het lint ingeschakeld, dat standaard is uitgeschakeld.
- Excel openen .
- Ga naar het menu Bestand .
- Klik op Opties onder aan het scherm. Het venster Excel-opties verschijnt.
- Ga in Excel-opties naar het tabblad Lint aanpassen .
- Vink Ontwikkelaar aan in de hoofdtabbladen .

Nu zijn ontwikkelaarstools, inclusief VBA-toegang, ingeschakeld. U hoeft dit niet elke keer te doen als u VBA in Excel wilt gebruiken. Ontwikkelaarstools zijn altijd ingeschakeld totdat u ze uitschakelt.
2. Maak macro's en voeg code in
- Ga in Excel naar het tabblad Ontwikkelaars .
- Selecteer Macro's in het gedeelte Code .
- Voer in het nieuwe venster uw macronaam in Macronaam in . Het artikel gebruikt insertPhotoMacro .
- Klik op Maken .

Nadat u op Maken hebt geklikt, wordt het VBA-venster geopend en wordt de code voor uw macro weergegeven. Momenteel bestaat de code uit 2 regels: een Sub om de macro te starten en een End Sub om deze te beëindigen.

Voeg een beetje code toe aan deze macro. Voeg de volgende regel code toe tussen de twee regels:
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
De uiteindelijke code ziet er als volgt uit:

U hoeft zich geen zorgen te maken over het opslaan van dit proces. Alle wijzigingen die u in VBA aanbrengt, worden onmiddellijk opgeslagen.
Nu is het tijd om de code in actie te zien:
- Sluit het VBA-venster.
- Ga naar het tabblad Ontwikkelaars in Excel.
- Selecteer Macro's in het gedeelte Code.
- Markeer de macro die u zojuist hebt gemaakt.
- Klik op Uitvoeren .
Er wordt nu een bericht geopend waarin u wordt gevraagd het afbeeldingsbestand te lokaliseren dat u wilt invoegen. Selecteer de foto en klik vervolgens op Openen. Je ziet nu de afbeelding in cel A1.
Let op: Excel verkleint de afbeelding zodat deze in cel A1 past. U kunt het wijzigen en de code wijzigen om afbeeldingen in andere cellen in te voegen, zelfs in een celbereik. In de volgende sectie zullen we de code scheiden en de parameters uitleggen.
3. Splitscode
Om VBA-code te laten werken zoals jij dat wilt, moet je het begrijpen. Wanneer u dit doet, kunt u de code wijzigen om afbeeldingen in elke cel van elke grootte in te voegen.
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
Wanneer de code begint, wordt de Dim-instructie gebruikt om het variabeletype te bepalen. We hebben twee typen variabelen: photoNameAndPath en photo . Eerst de variabele en dan de afbeelding.
Van daaruit wordt de variabele photoNameAndPath uitgevoerd en wordt een toepassing geopend om de locatie van het fotobestand op te halen. Dit gebeurt via Application.GetOpenFileName . De parameter Titel is optioneel. De inhoud erin wordt weergegeven als de vensternaam.
Als u If photoNameAndPath = False Then Exit Sub gebruikt , wordt het proces beëindigd als er een ongeldig of leeg adres wordt opgegeven. Als er echter een geschikt bestand wordt geleverd, geeft Set photo = ActiveSheet.Pictures.Insert(photoNameAndPath) aan dat de afbeelding moet worden ingesteld als een variabele zoals oorspronkelijk gedefinieerd. Het wordt ingevoegd in het actieve werkblad.
Gebruik ten slotte Met foto en de 5 regels erna om de locatie van de foto te bepalen. .Left en .Top verwijzen naar de startpositie, terwijl .Width en .Height verwijzen naar de eindpositie. Als u afbeeldingen in een andere cel of bereik wilt invoegen, zijn dit de regels die u moet wijzigen.
.Plaatsing geeft aan dat het formaat van de afbeelding moet worden aangepast zodat deze in de cel past of vrije vorm moet worden ingevoegd. Als u dit op 1 instelt , wordt het formaat aangepast aan de hand van de cel.
Ten slotte gebruikt de bovenstaande code End With en vervolgens End Sub om de macro te sluiten. Nu kunt u de variabelen photoNameAndPath en photo wijzigen in elke gewenste naam. Vergeet niet om de namen consistent te houden in de hele code.
Hierboven ziet u hoe u VBA kunt gebruiken om afbeeldingen in cellen in Excel in te voegen . Ik hoop dat het artikel nuttig voor je is.