Možete jednostavno umetati slike u Excel proračunske tablice i uređivati ih makro kodom. Evo kako umetnuti sliku u ćeliju koristeći VBA u Excelu .
Visual Basic for Applications, skraćeno VBA, oblik je Visual Basica 6 integriranog u Microsoft Office programe. Kodiranjem VBA omogućuje automatizaciju zadataka u aplikacijama sustava Office, uključujući Excel. U nekim slučajevima čak možete dodati nove značajke Excelu pomoću VBA.
Iako morate raditi s kodom da biste koristili VBA, to ne znači da je VBA pun slova i brojeva. Pomoću VBA u Excelu možete stvoriti makronaredbu koja vam omogućuje umetanje slike u ćeliju ili raspon ćelija. Evo što trebate znati o umetanju slika u ćelije u Excelu pomoću VBA.
Kako umetnuti slike u ćelije pomoću VBA u Excelu
Da biste izradili makronaredbu koja umeće sliku u ćeliju programa Excel pomoću VBA, stvarno vam nije potrebno nikakvo napredno znanje o Visual Basicu. Sve što trebate učiniti je uključiti alate za razvojne programere, izraditi makronaredbu i zalijepiti odgovarajući kod. Naravno, slike možete umetati u Excel i bez korištenja VBA. Međutim, u ovom ćemo se članku usredotočiti na VBA.
1. Uključite alate za razvojne programere
Za korištenje VBA u Excelu morate omogućiti alate za razvojne programere. Ova će radnja omogućiti karticu Razvojni programer na vrpci, koja je prema zadanim postavkama onemogućena.
- Otvorite Excel .
- Idite na izbornik Datoteka .
- Pritisnite Opcije na dnu zaslona. Pojavit će se prozor Excel Options .
- U mogućnostima programa Excel idite na karticu Prilagodi vrpcu .
- U glavnim karticama označite Developer .
Sada su omogućeni alati za razvojne programere, uključujući VBA pristup. Ne morate to raditi svaki put kada želite koristiti VBA u Excelu. Alati za razvojne programere uvijek će biti omogućeni dok ih ne onemogućite.
2. Napravite makronaredbe i umetnite kod
- U programu Excel idite na karticu Razvojni programer .
- U odjeljku Kod odaberite Makronaredbe .
- U novom prozoru unesite naziv makronaredbe u Naziv makronaredbe . Članak će koristiti insertPhotoMacro .
- Pritisnite Stvori .
Nakon klika na Create, VBA prozor će se otvoriti i prikazati kod za vašu makronaredbu. Trenutno će se kôd sastojati od 2 retka: Sub za početak makronaredbe i End Sub za kraj.
Dodajte mali kod ovoj makronaredbi. Dodajte sljedeći redak koda između dva retka:
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
Konačni kod će izgledati ovako:
Ne morate brinuti o spremanju ovog procesa. Sve promjene koje napravite u VBA spremaju se odmah.
Sada je vrijeme da vidite kôd na djelu:
- Zatvorite VBA prozor.
- Idite na karticu Razvojni programer u programu Excel.
- Odaberite Makronaredbe iz odjeljka Kod.
- Označite makronaredbu koju ste upravo stvorili.
- Pritisnite Pokreni .
Sada će se otvoriti poruka u kojoj se traži da pronađete slikovnu datoteku koju želite umetnuti. Odaberite fotografiju, zatim kliknite Otvori. Sada ćete vidjeti sliku u ćeliji A1.
Napomena, Excel će smanjiti sliku tako da stane u ćeliju A1. Možete ga promijeniti i promijeniti kod za umetanje slika u druge ćelije, čak iu niz ćelija. U sljedećem odjeljku odvojit ćemo kod i objasniti parametre.
3. Split kod
Da bi VBA kod radio kako želite, morate ga razumjeti. Kada to radite, možete promijeniti kod za umetanje slika u bilo koju ćeliju bilo koje veličine.
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
Kada kod započne, naredba Dim koristi se za određivanje tipa varijable. Imamo dvije vrste varijabli: photoNameAndPath i photo . Prvo varijabla, a zatim slika.
Odatle se pokreće varijabla photoNameAndPath i otvorit će aplikaciju za dobivanje lokacije datoteke fotografije. To se radi preko Application.GetOpenFileName . Parametar naslova nije obavezan. Sadržaj unutar njega prikazuje se kao naziv prozora.
Upotrebom If photoNameAndPath = False Then Exit Sub , ako je dana nevažeća ili prazna adresa, proces će završiti. Međutim, ako se pruži odgovarajuća datoteka, Set photo = ActiveSheet.Pictures.Insert(photoNameAndPath) označava da sliku treba postaviti kao varijablu kako je izvorno definirano. Bit će umetnut u aktivni radni list.
Na kraju upotrijebite S fotografijom i 5 redaka nakon nje da odredite mjesto fotografije. .Lijevo i .Gornje odnose se na početni položaj, dok se .Širina i .Visina odnose na krajnji položaj. Ako namjeravate umetnuti slike u drugu ćeliju ili raspon, ovo su linije koje biste trebali promijeniti.
.Položaj označava da sliku treba promijeniti u veličini da stane u ćeliju ili umetnuti slobodni oblik. Postavljanjem na 1 promijenit ćete veličinu prema ćeliji.
Konačno, gornji kôd koristi End With , a zatim End Sub za zatvaranje makronaredbe. Sada možete promijeniti varijable photoNameAndPath i photo u bilo koje drugo ime koje želite. Samo zapamtite da nazivi budu dosljedni u cijelom kodu.
Gore je opisano kako koristiti VBA za umetanje slika u ćelije u Excelu . Nadamo se da vam je članak koristan.