Visual Basic for Application, pe scurt VBA, este o formă de Visual Basic 6 integrată în programele Microsoft Office. Prin codificare, VBA vă permite să automatizați sarcini în programele Office, inclusiv Excel. În unele cazuri, puteți chiar să adăugați noi funcții la Excel folosind VBA.
Deși trebuie să lucrați cu cod pentru a utiliza VBA, asta nu înseamnă că VBA este toate litere și numere. Cu VBA în Excel, puteți crea o macrocomandă care vă permite să inserați imagini într-o celulă sau într-o serie de celule. Citiți mai departe pentru a afla totul despre asta!
Cum să inserați o imagine într-o celulă folosind VBA în Excel
Pentru a crea o macrocomandă pentru a insera imagini în celulele Excel folosind VBA, de fapt nu aveți nevoie de cunoștințe avansate de Visual Basic. Tot ce trebuie să faceți este să activați instrumentele pentru dezvoltatori, să creați macrocomandă și să lipiți codul potrivit.
Cu toate acestea, dacă sunteți interesat să învățați VBA și să vă scrieți propriul cod într-o zi, am defalcat codul VBA în a treia secțiune. Desigur, poți și tu
inserați imagini în Excel fără a utiliza VBA. Dar acest articol se referă la realizarea acestuia prin VBA. Sa trecem la treaba!Pentru a utiliza VBA în Excel, trebuie să activați instrumentele pentru dezvoltatori în Excel. Aceasta va activa fila Dezvoltator din panglică, care este dezactivată implicit.
- Deschideți Excel.
- Du-te la Fişier meniul.
- Click pe Opțiuni în partea de jos a ecranului. Aceasta va deschide fereastra Opțiuni Excel.
- În Opțiuni Excel, accesați Personalizați panglica fila.
- Sub Filele principale, Verifica Dezvoltator.
Acum, instrumentele pentru dezvoltatori, inclusiv accesul la VBA, sunt activate pentru dvs. Nu trebuie să faceți acest lucru de fiecare dată când doriți să utilizați VBA în Excel. Instrumentele pentru dezvoltatori vor rămâne activate până când le dezactivați.
2. Crearea macro-ului și inserarea codului
Acum este timpul să trecem la crearea macro-ului. Alternativ, ai putea, de asemenea creați un buton folosind VBA pentru această sarcină, dar vom rămâne cu macrocomenzi.
- În Excel, accesați Dezvoltator fila.
- În Cod secțiune, selectați Macro-uri.
- În fereastra nouă, introduceți un nume pentru macrocomandă sub Nume macro. Vom folosi insertPhotoMacro.
- Clic Crea.
După ce faceți clic pe Creare, se va deschide fereastra VBA și se va afișa codul pentru macrocomandă. În acest moment, codul va consta din două linii: A Sub pentru a iniția macro-ul și an End Sub pentru a-l pune capăt.
Să adăugăm niște cod la această macrocomandă. Adăugați următorul cod între cele două linii:
Dim photoNameAndPath La fel de Variantă
Poză slabă La fel de Imagine
photoNameAndPath = Aplicație. GetOpenFilename (Titlu:="Selectați Fotografie laIntroduce")
Dacă photoNameAndPath = Fals Apoi Ieșire Sub
A stabilit fotografie = ActiveSheet. Poze. Inserare (photoNameAndPath)
Cu fotografie
.Left = ActiveSheet. Gamă("A1").Stânga
.Top = ActiveSheet. Gamă("A1").Top
.Width = ActiveSheet. Gamă("A1").Lăţime
.Height = ActiveSheet. Gamă("A1").Înălţime
.Aşezare = 1
SfârşitCu
Codul final ar trebui să fie ceva ca următorul:
Nu trebuie să vă faceți griji cu privire la salvarea progresului dvs. Fiecare modificare pe care o faceți în VBA este salvată instantaneu.
Acum este timpul să vezi codul la lucru.
- Închideți fereastra VBA.
- Du-te la Dezvoltator filă în Excel.
- Selectați Macro-uri de la Cod secțiune.
- Evidențiați macrocomandă pe care tocmai ați creat-o.
- Clic Alerga.
Acum se va deschide o solicitare care vă va cere să localizați fișierul imagine pe care doriți să îl inserați. Selectați imaginea dvs. și apoi faceți clic Deschis. Acum ar trebui să vedeți fotografia dvs. în celula A1!
Observați că imaginea inserată este redusă pentru a se potrivi celulei A1. Puteți modifica acest lucru și, de asemenea, modifica codul pentru a insera imaginea în alte celule sau chiar într-o serie de celule. În secțiunea următoare, vom descompune codul și vom explica parametrii la lucru.
3. Defalcarea Codului
Pentru ca acest cod VBA să funcționeze pentru dvs. așa cum doriți, trebuie să îl înțelegeți. După ce faceți acest lucru, puteți modifica codul pentru a insera fotografii în orice celulă de orice dimensiune. Vom parcurge codul bit cu bit pentru a fi mai ușor de înțeles.
Sub insertPhotoMacro()
Dim photoNameAndPath La fel de Variantă
Poză slabă La fel de Imagine
photoNameAndPath = Aplicație. GetOpenFilename (Titlu:="Selectați Fotografie laIntroduce")
Dacă photoNameAndPath = Fals Apoi Ieșire Sub
A stabilit fotografie = ActiveSheet. Poze. Inserare (photoNameAndPath)
Cu fotografie
.Left = ActiveSheet. Gamă("A1").Stânga
.Top = ActiveSheet. Gamă("A1").Top
.Width = ActiveSheet. Gamă("A1").Lăţime
.Height = ActiveSheet. Gamă("A1").Înălţime
.Aşezare = 1
SfârşitCu
Sfârşit Sub
Odată ce codul începe, folosim Dim instrucțiune pentru a determina tipul variabilei. Avem două variabile aici: photoNameAndPath și fotografie în sine. L-am determinat pe primul drept a Variantă iar acesta din urmă ca a Fotografie.
De acolo, variabila photoNameAndPath rulează și deschide o aplicație pentru a obține locul în care se află fișierul imagine. Acest lucru se realizează prin Aplicație. GetOpenFileName. The Titlu parametrul este opțional, iar conținutul acestuia este afișat ca nume de fereastră.
Folosind Dacă photoNameAndPath = False, Ieșiți din sub, precizăm că dacă este dată o adresă nevalidă sau necompletată, procesul ar trebui să fie încheiat. Cu toate acestea, dacă un fișier adecvat este alimentat, atunci Set fotografie = ActiveSheet. Poze. Inserare (photoNameAndPath) indică faptul că imaginea trebuie setată ca variabilă foto pe care am definit-o mai devreme și ar trebui să fie inserată în foaia de calcul activă.
Folosind in sfarsit Cu poza iar cele cinci linii care o urmează, elaborăm poziționarea imaginii. .Stânga și .Top indicați locațiile de pornire, în timp ce .Lăţime și .Înălţime indicați locațiile finale. Dacă doriți să inserați imaginea în alte celule sau într-un interval, atunci acestea sunt liniile pe care ar trebui să le modificați.
.Amplasare indică dacă imaginea trebuie dimensionată cu celulele sau inserată în formă liberă. Setarea la 1 o va dimensiona cu celulele.
În cele din urmă, folosim Se termina cu și apoi End Sub pentru a închide macro. Rețineți că puteți schimba photoNameAndPath și fotografie variabile la orice alt nume doriți. Nu uitați să păstrați numele consecvente în tot codul.
Fă mai multe în Excel cu VBA
Excel este într-adevăr un instrument minunat pentru organizarea și analiza datelor, dar asta nu înseamnă că Excel este ineficient când vine vorba de grafică. Deși fotografiile și hărțile de bit nu sunt cel mai puternic mod al Excel, Excel este totuși perfect capabil să le gestioneze.
Deși puteți insera imagini în Excel folosind interfața, așa cum ați proceda în alte aplicații Office, o puteți face și folosind VBA. Cu VBA, puteți automatiza această sarcină și chiar o puteți cupla cu alte sarcini pentru a rula simultan. Posibilitățile cu VBA în Excel sunt nesfârșite.