Visual Basic for Application, kortweg VBA, is een vorm van Visual Basic 6 die is geïntegreerd in Microsoft Office-programma's. Door middel van codering kunt u met VBA taken automatiseren in Office-programma's, waaronder Excel. In sommige gevallen kunt u met VBA zelfs nieuwe functies aan Excel toevoegen.
Hoewel u met code moet werken om VBA te gebruiken, betekent dat niet dat VBA alleen uit letters en cijfers bestaat. Met VBA in Excel kunt u een macro maken waarmee u afbeeldingen in een cel of een celbereik kunt invoegen. Lees verder om er alles over te weten te komen!
Een afbeelding in een cel invoegen met VBA in Excel
Om met VBA een macro te maken om afbeeldingen in Excel-cellen in te voegen, hebt u eigenlijk geen geavanceerde Visual Basic-kennis nodig. Het enige dat u hoeft te doen, is ontwikkelaarstools inschakelen, de macro maken en de juiste code plakken.
Als u echter geïnteresseerd bent in het leren van VBA en het schrijven van uw eigen code op een dag, hebben we de VBA-code in het derde gedeelte uitgesplitst. Dat kan natuurlijk ook
voeg afbeeldingen in Excel in zonder VBA te gebruiken. Maar dit artikel gaat over het voor elkaar krijgen via VBA. Terzake!Om VBA in Excel te gebruiken, moet u ontwikkelaarstools in Excel inschakelen. Hierdoor wordt het tabblad Ontwikkelaar in het lint ingeschakeld, dat standaard is uitgeschakeld.
- Excel openen.
- Ga naar de Bestand menu.
- Klik op Opties onderaan het scherm. Hierdoor wordt het venster Excel-opties geopend.
- Ga in Excel-opties naar het Lint aanpassen tabblad.
- Onder Hoofdtabbladen, rekening Ontwikkelaar.
Nu zijn ontwikkelaarstools, inclusief toegang tot VBA, voor u ingeschakeld. U hoeft dit niet elke keer te doen als u VBA in Excel wilt gebruiken. Hulpprogramma's voor ontwikkelaars blijven ingeschakeld totdat u ze uitschakelt.
2. De macro maken en de code invoegen
Nu is het tijd om aan de slag te gaan met het maken van de macro. Als alternatief zou je dat ook kunnen maak een knop met VBA voor deze taak, maar we houden het bij macro's.
- Ga in Excel naar het Ontwikkelaar tabblad.
- In de Code sectie, selecteer Macro's.
- Voer in het nieuwe venster een naam in voor uw macro onder Macronaam. We gaan gebruiken voeg FotoMacro in.
- Klik Creëren.
Zodra u op Maken klikt, wordt het VBA-venster geopend en wordt de code voor uw macro weergegeven. Op dit moment bestaat de code uit twee regels: A Sub om de macro te starten, en een Eind sub om er een einde aan te maken.
Laten we wat code toevoegen aan deze macro. Voeg de volgende code toe tussen de twee regels:
Gedimde fotoNameAndPath Als Variant
Vage foto Als Afbeelding
photoNameAndPath = Toepassing. GetOpenFilename (Titel:="Selecteer Foto naarInvoegen")
Als fotoNaamAndPath = Vals Dan Uitgang Sub
Set foto = ActiveSheet. Afbeeldingen. Invoegen (photoNameAndPath)
Met foto
.Links = ActiveSheet. Bereik("A1").Links
.Top = ActiveSheet. Bereik("A1").Bovenkant
.Breedte = ActiveSheet. Bereik("A1").Breedte
.Hoogte = ActiveSheet. Bereik("A1").Hoogte
.Plaatsing = 1
EindeMet
Uw uiteindelijke code zou ongeveer als volgt moeten zijn:
U hoeft zich geen zorgen te maken over het opslaan van uw voortgang. Elke wijziging die u aanbrengt in VBA wordt direct opgeslagen.
Nu is het tijd om de code aan het werk te zien.
- Sluit het VBA-venster.
- Ga naar de Ontwikkelaar tabblad in Excel.
- Selecteer Macro's van de Code sectie.
- Markeer de zojuist gemaakte macro.
- Klik Loop.
Nu verschijnt er een prompt waarin u wordt gevraagd het afbeeldingsbestand te zoeken dat u wilt invoegen. Selecteer uw afbeelding en klik vervolgens op Open. Je zou nu je foto in de A1-cel moeten zien!
Merk op dat de ingevoegde afbeelding is verkleind om in cel A1 te passen. U kunt dit wijzigen en ook de code wijzigen om de afbeelding in andere cellen of zelfs een celbereik in te voegen. In het volgende gedeelte gaan we de code uitsplitsen en de parameters die aan het werk zijn uitleggen.
3. De code opsplitsen
Om deze VBA-code voor u te laten werken zoals u dat wilt, moet u deze begrijpen. Als je dat eenmaal hebt gedaan, kun je de code wijzigen om foto's in elke cel van elk formaat in te voegen. We gaan de code beetje bij beetje doornemen om het begrijpelijker te maken.
Sub invoegenFotoMacro()
Gedimde fotoNameAndPath Als Variant
Vage foto Als Afbeelding
photoNameAndPath = Toepassing. GetOpenFilename (Titel:="Selecteer Foto naarInvoegen")
Als fotoNaamAndPath = Vals Dan Uitgang Sub
Set foto = ActiveSheet. Afbeeldingen. Invoegen (photoNameAndPath)
Met foto
.Links = ActiveSheet. Bereik("A1").Links
.Top = ActiveSheet. Bereik("A1").Bovenkant
.Breedte = ActiveSheet. Bereik("A1").Breedte
.Hoogte = ActiveSheet. Bereik("A1").Hoogte
.Plaatsing = 1
EindeMet
Einde Sub
Zodra de code begint, gebruiken we de Afm instructie om het type van de variabele te bepalen. We hebben hier twee variabelen: photoNameAndPath En foto zelf. We hebben de eerste bepaald als een Variant en de laatste als een Foto.
Van daaruit wordt de variabele photoNameAndPath uitgevoerd en wordt een toepassing geopend om de locatie van het afbeeldingsbestand te achterhalen. Dit gebeurt via Sollicitatie. GetOpenBestandsnaam. De Titel parameter is optioneel en de inhoud ervan wordt weergegeven als de vensternaam.
Gebruik makend van Als photoNameAndPath = False Exit dan Sub, specificeren we dat als een ongeldig of blanco adres wordt opgegeven, het proces moet worden beëindigd. Als er echter een goed bestand wordt ingevoerd, dan Foto instellen = ActiveSheet. Afbeeldingen. Invoegen (photoNameAndPath) geeft aan dat de afbeelding moet worden ingesteld als de fotovariabele die we eerder hebben gedefinieerd en dat deze moet worden ingevoegd in het actieve werkblad.
Eindelijk gebruiken Met foto en de vijf regels die erop volgen, gaan we dieper in op de positionering van de afbeelding. .Links En .Bovenkant geef de startlocaties aan, terwijl .Breedte En .Hoogte geef de eindlocaties aan. Als u de afbeelding in andere cellen of in een bereik wilt invoegen, dan zijn dit de regels die u moet wijzigen.
.Plaatsing geeft aan of de afbeelding op maat moet worden gemaakt met de cellen of in vrije vorm moet worden ingevoegd. Instellen op 1 zal het op maat maken met de cellen.
Uiteindelijk gebruiken we Eindigt met en dan Eind sub om de macro te sluiten. Merk op dat u de photoNameAndPath En foto variabelen naar welke andere naam u maar wilt. Vergeet niet om de namen consistent te houden in de hele code.
Krijg meer gedaan in Excel met VBA
Excel is inderdaad een geweldig hulpmiddel voor het organiseren en analyseren van gegevens, maar dat betekent niet dat Excel onhandig is als het om afbeeldingen gaat. Hoewel foto's en bitmaps niet de sterkste kant van Excel zijn, kan Excel er nog steeds perfect mee omgaan.
Hoewel u afbeeldingen in Excel kunt invoegen met behulp van de interface zoals u dat in andere Office-apps zou doen, kunt u dit ook doen met VBA. Met VBA kunt u deze taak automatiseren en zelfs koppelen aan andere taken om gelijktijdig uit te voeren. De mogelijkheden met VBA in Excel zijn eindeloos.