Puteți insera cu ușurință imagini în foile de calcul Excel și le puteți edita cu un cod macro. Iată cum să inserați o imagine într-o celulă folosind VBA în Excel .
Visual Basic for Applications, abreviat ca VBA, este o formă de Visual Basic 6 integrată în programele Microsoft Office. Prin codificare, VBA vă permite să automatizați sarcini în aplicațiile Office, inclusiv Excel. În unele cazuri, puteți chiar să adăugați noi funcții la Excel folosind VBA.
Chiar dacă trebuie să lucrați cu cod pentru a utiliza VBA, asta nu înseamnă că VBA este plin de litere și numere. Cu VBA în Excel, puteți crea o macrocomandă care vă permite să inserați o imagine într-o celulă sau într-o serie de celule. Iată ce trebuie să știți despre inserarea imaginilor în celule în Excel folosind VBA.
Cum să inserați imagini în celule folosind VBA în Excel
Pentru a crea o macrocomandă care inserează o imagine într-o celulă Excel folosind VBA, chiar 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 o macrocomandă și să lipiți codul corespunzător. Desigur, puteți insera și imagini în Excel fără a utiliza VBA. Cu toate acestea, în acest articol, ne vom concentra pe VBA.
1. Activați Instrumentele pentru dezvoltatori
Pentru a utiliza VBA în Excel, trebuie să activați instrumentele pentru dezvoltatori. Această acțiune va activa fila Dezvoltator din panglică, care este dezactivată implicit.
- Deschideți Excel .
- Accesați meniul Fișier .
- Faceți clic pe Opțiuni în partea de jos a ecranului. Va apărea fereastra Opțiuni Excel .
- În Opțiuni Excel, accesați fila Personalizare panglică .
- În filele principale , bifați Dezvoltator .
Acum instrumentele pentru dezvoltatori, inclusiv accesul VBA, sunt activate. Nu trebuie să faceți acest lucru de fiecare dată când doriți să utilizați VBA în Excel. Instrumentele pentru dezvoltatori vor fi întotdeauna activate până când le dezactivați.
2. Creați macrocomenzi și introduceți codul
- În Excel, accesați fila Dezvoltator .
- În secțiunea Cod, selectați Macrocomenzi .
- În fereastra nouă, introduceți numele macrocomenzii în Numele macrocomenzii . Articolul va folosi insertPhotoMacro .
- Faceți clic pe Creare .
După ce faceți clic pe Creare, se va deschide fereastra VBA și va afișa codul pentru macrocomandă. În prezent, codul va consta din 2 linii: un Sub pentru a începe macro-ul și un End Sub pentru a o termina.
Adăugați un mic cod la această macrocomandă. Adăugați următoarea linie de cod între cele două linii:
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
Codul final va arăta astfel:
Nu trebuie să vă faceți griji cu privire la salvarea acestui proces. Orice modificări pe care le faceți în VBA sunt salvate imediat.
Acum este timpul să vedeți codul în acțiune:
- Închideți fereastra VBA.
- Accesați fila Dezvoltator din Excel.
- Selectați Macrocomenzi din secțiunea Cod.
- Evidențiați macrocomandă pe care tocmai ați creat-o.
- Faceți clic pe Executare .
Acum se va deschide un mesaj care vă va cere să localizați fișierul imagine pe care doriți să îl introduceți. Selectați fotografia, apoi faceți clic pe Deschidere. Acum veți vedea imaginea în celula A1.
Rețineți, Excel va micșora imaginea astfel încât să se potrivească în celula A1. Îl puteți schimba și modifica codul pentru a insera imagini în alte celule, chiar și într-o serie de celule. În secțiunea următoare, vom separa codul și vom explica parametrii.
3. Cod împărțit
Pentru ca codul VBA să funcționeze așa cum doriți, trebuie să îl înțelegeți. Când faceți acest lucru, puteți modifica codul pentru a insera imagini în orice celulă de orice dimensiune.
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
Când începe codul, instrucțiunea Dim este utilizată pentru a determina tipul de variabilă. Avem două tipuri de variabile: photoNameAndPath și photo . Mai întâi variabila și apoi imaginea.
De acolo, variabila photoNameAndPath rulează și va deschide o aplicație pentru a obține locația fișierului foto. Acest lucru se face prin Application.GetOpenFileName . Parametrul Titlu este opțional. Conținutul din interiorul acestuia este afișat ca nume de fereastră.
Folosind If photoNameAndPath = False Then Exit Sub , dacă este dată o adresă nevalidă sau goală, procesul se va încheia. Totuși, dacă este furnizat un fișier adecvat, Set photo = ActiveSheet.Pictures.Insert(photoNameAndPath) indică faptul că imaginea trebuie setată ca variabilă așa cum a fost definită inițial. Acesta va fi inserat în foaia de lucru activă.
În cele din urmă, utilizați Cu fotografie și cele 5 linii de după aceasta pentru a determina locația fotografiei. .Stânga și .Sus se referă la poziția de pornire, în timp ce .Lățimea și .Înălțimea se referă la poziția finală. Dacă intenționați să inserați imagini într-o altă celulă sau într-un interval, acestea sunt liniile pe care ar trebui să le modificați.
.Plasarea indică faptul că imaginea trebuie redimensionată pentru a se potrivi cu celula sau inserată în formă liberă. Setarea la 1 o va redimensiona în funcție de celulă.
În cele din urmă, codul de mai sus folosește End With , apoi End Sub pentru a închide macrocomanda. Acum puteți schimba variabilele photoNameAndPath și photo cu orice alt nume doriți. Nu uitați să păstrați numele consecvente în tot codul.
Mai sus este cum să utilizați VBA pentru a insera imagini în celule în Excel . Sper că articolul vă este de folos.