Slike lahko preprosto vstavite v Excelove preglednice in jih uredite z makro kodo. Tukaj je opisano , kako vstavite sliko v celico z uporabo VBA v Excelu .
Visual Basic for Applications, skrajšano VBA, je oblika Visual Basica 6, integriranega v programe Microsoft Office. S kodiranjem vam VBA omogoča avtomatizacijo opravil v Officeovih aplikacijah, vključno z Excelom. V nekaterih primerih lahko Excelu celo dodate nove funkcije z VBA.
Čeprav morate za uporabo VBA delati s kodo, to ne pomeni, da je VBA poln črk in številk. Z VBA v Excelu lahko ustvarite makro, ki vam omogoča vstavljanje slike v celico ali obseg celic. Tukaj je tisto, kar morate vedeti o vstavljanju slik v celice v Excelu z uporabo VBA.
Kako vstaviti slike v celice z uporabo VBA v Excelu
Če želite ustvariti makro, ki vstavi sliko v Excelovo celico z uporabo VBA, res ne potrebujete nobenega naprednega znanja o Visual Basicu. Vse kar morate storiti je, da vklopite orodja za razvijalce, ustvarite makro in prilepite ustrezno kodo. Seveda lahko v Excel vstavite slike tudi brez uporabe VBA. Vendar se bomo v tem članku osredotočili na VBA.
1. Vklopite orodja za razvijalce
Če želite uporabljati VBA v Excelu, morate omogočiti orodja za razvijalce. To dejanje bo omogočilo zavihek Razvijalec na traku, ki je privzeto onemogočen.
- Odpri Excel .
- Pojdite v meni Datoteka .
- Kliknite Možnosti na dnu zaslona. Prikaže se okno z možnostmi programa Excel .
- V Excelovih možnostih pojdite na zavihek Prilagodi trak .
- V glavnih zavihkih označite Razvijalec .
Zdaj so omogočena orodja za razvijalce, vključno z dostopom VBA. Tega vam ni treba narediti vsakič, ko želite uporabiti VBA v Excelu. Orodja za razvijalce bodo vedno omogočena, dokler jih ne onemogočite.
2. Ustvarite makre in vstavite kodo
- V Excelu pojdite na zavihek Razvijalec .
- V razdelku Koda izberite Makri .
- V novem oknu vnesite ime makra v Ime makra . Članek bo uporabljal insertPhotoMacro .
- Kliknite Ustvari .
Ko kliknete Ustvari, se odpre okno VBA in prikaže kodo za vaš makro. Trenutno bo koda sestavljena iz dveh vrstic: Sub za začetek makra in End Sub za konec.
Temu makru dodajte malo kode. Med dve vrstici dodajte naslednjo vrstico kode:
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
Končna koda bo videti takole:
Ni vam treba skrbeti za shranjevanje tega postopka. Vse spremembe, ki jih naredite v VBA, se takoj shranijo.
Zdaj je čas, da vidite kodo v akciji:
- Zaprite okno VBA.
- Pojdite na zavihek Razvijalec v Excelu.
- V razdelku Koda izberite Makri .
- Označite makro, ki ste ga pravkar ustvarili.
- Kliknite Zaženi .
Zdaj se bo odprlo sporočilo, ki vas bo pozvalo, da poiščete slikovno datoteko, ki jo želite vstaviti. Izberite fotografijo in kliknite Odpri. Zdaj boste videli sliko v celici A1.
Upoštevajte, da bo Excel skrčil sliko, tako da se prilega celici A1. Lahko ga spremenite in spremenite kodo za vstavljanje slik v druge celice, celo v obseg celic. V naslednjem razdelku bomo ločili kodo in razložili parametre.
3. Razdeljena koda
Da bi koda VBA delovala tako, kot želite, jo morate razumeti. Pri tem lahko spremenite kodo za vstavljanje slik v poljubno celico poljubne velikosti.
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
Ko se koda začne, se za določitev tipa spremenljivke uporabi stavek Dim. Imamo dve vrsti spremenljivk: photoNameAndPath in photo . Najprej spremenljivka in nato slika.
Od tam se zažene spremenljivka photoNameAndPath , ki bo odprla aplikacijo za pridobitev lokacije datoteke fotografije. To se naredi prek Application.GetOpenFileName . Parameter naslova ni obvezen. Vsebina v njem je prikazana kot ime okna.
Če uporabite If photoNameAndPath = False Then Exit Sub , če je podan neveljaven ali prazen naslov, se bo postopek končal. Če pa je na voljo ustrezna datoteka, Set photo = ActiveSheet.Pictures.Insert(photoNameAndPath) nakazuje, da je treba sliko nastaviti kot spremenljivko, kot je prvotno definirano. Vstavljen bo v aktivni delovni list.
Na koncu uporabite S fotografijo in 5 vrstic za njo, da določite lokacijo fotografije. .Levo in .Zgoraj se nanašata na začetni položaj, .Širina in .Višina pa na končni položaj. Če nameravate slike vstaviti v drugo celico ali obseg, morate spremeniti te vrstice.
.Placement označuje, da je treba sliko spremeniti v velikost, da se prilega celici ali vstaviti prosto obliko. Če ga nastavite na 1 , boste spremenili njegovo velikost glede na celico.
Končno zgornja koda uporablja End With in nato End Sub , da zapre makro. Zdaj lahko spremenite spremenljivki photoNameAndPath in photo v poljubno ime. Samo ne pozabite ohraniti doslednosti imen v celotni kodi.
Zgoraj je opisano , kako uporabiti VBA za vstavljanje slik v celice v Excelu . Upam, da vam je članek koristen.