Hei siellä! Yritetään roikkua kojelaudalla mielekkäillä kuvilla. Tai vain yrittää lisätä kuvan soluun Excel VBA. Et voi lisätä kuvia Excel -soluihin, mutta voit muuttaa sen kokoa sopimaan Excel -soluun. Manuaalinen tekeminen vie paljon aikaa ja on ärsyttävää. Joten mikä on ratkaisu? Arvasit oikein, VBA -makro. Koodaamme nyt.
Alla on Excel vba -koodi, jolla voit lisätä kuvan kansiosta soluun tai tietylle alueelle. Paina Alt+F11, aseta moduuli ja kopioi tämä koodi.
Älä huoli, olen selittänyt sen alla, jotta voit muokata sitä tarpeidesi mukaan.
Lisää kuva Excel -soluun, jossa on VBA, soluun tai tiettyyn alueeseen
Sub TestInsertPictureInRange () InsertPictureInRange "C: \ FolderName \ PictureFileName.gif", _Range ("B5: D10")
End Sub 'lisää kuvan ja muuttaa sen kokoa sopimaan TargetCells -alueeseen Dim p Kohteena, t Kuten kaksinkertainen, l Kuten kaksinkertainen, w Kuten kaksinkertainen, h Kuten kaksinkertainen Jos TypeName (ActiveSheet) "laskentataulukko", sulje sitten Sub Jos Dir (PictureFileName) = "" Lopeta sitten Sub 'Tuo kuva Aseta p = ActiveSheet.Pictures.Insert (PictureFileName) 'määrittää sijainnit TargetCells t =. ylhäältä l =. vasen w = .Siirto (0, .Columns.Count) .Left - .Left h = .Siirto (.Rivit.luku, 0) .Ylä - Lopeta 'asentokuva S Ylös = t Vasen = l Leveys = w Korkeus = h Lopeta Aseta p = ei mitään End Sub |
Selitys:
Osa 1:
Sub TestInsertPictureInRange () InsertPictureInRange "C: \ FolderName \ PictureFileName.gif", _Range ("B5: D10")
End Sub |
Yllä oleva aliohjelma kutsuu vain tärkeintä aliohjelmaamme InsertPictureInRange, joka sisältää vain kaksi argumenttia. Ensin kuvatiedoston osoite ja sen nimi ja toinen alue, johon haluat lisätä kuvan Excelissä.
Osa 2:
Sub InsertPictureInRange (PictureFileName As String, TargetCells As Range) '' lisää kuvan ja muuttaa sen kokoa sopivaksi TargetCells -alueeseen Dim p As Object, t Kuten Double, l As Double, w As Double, h Kuten Double
Jos TypeName (ActiveSheet) "laskentataulukko", sulje sitten Sub Jos Dir (PictureFileName) = "" Lopeta sitten Sub 'Tuo kuva Aseta p = ActiveSheet.Pictures.Insert (PictureFileName) 'määrittää sijainnit TargetCells -sovelluksella t =. ylhäältä l =. vasen w = .Siirto (0, .Columns.Count) .Left - .Left h = .Siirto (.Rivit.luku, 0) .Ylä - Lopeta 'asentokuva S Ylös = t Vasen = l Leveys = w Korkeus = h Lopeta Aseta p = ei mitään End Sub |
Tämä on tärkein aliohjelma, joka lisää kuvan ja muuttaa sen kokoa sopivaksi. Kaivetaan siihen.
Dim p Kohteena, t Kuten kaksinkertainen, l Kuten kaksinkertainen, w Kuten kaksinkertainen, h Kuten kaksinkertainen
Tämä rivi on vain muuttuva ilmoitus, jota tarvitsemme. Huomautus p Objektimuuttujana. Tämä muuttuja säilyttää kuvan.
Jos TypeName (ActiveSheet) "laskentataulukko", sulje sitten Sub
Se tarkistaa, onko Activesheet -laskentataulukko vai ei. Jos ei, se poistuu koodista välittömästi eikä mitään tapahdu.
Jos Dir (PictureFileName) = "" Lopeta sitten Sub
Tarkista, että olet antanut kuvan osoitteen valokuvan lisäämiseksi Excel -soluun. Jos et ole antanut sitä, se poistuu välittömästi eikä mitään tapahdu.
Aseta p = ActiveSheet.Pictures.Insert (PictureFileName)
Tämä on nyt tärkein linja. Tällä rivillä käytämme Activesheetin Lisää -toimintoa. Kuvat objekti ja laita se objektiin p, jonka ilmoitimme aiemmin. Nyt p: n avulla voimme helposti säätää kuvan leveyttä ja pituutta.
Kun TargetCells t = .Alkuun l = .Vasen w = .Siirto (0, .Columns.Count) .Left - .Left h = .Offset (.Rows.Count, 0).
Tämä segmentti saa vain pituuden, leveyden, ylhäältä ja vasemmalta annetulta alueelta.
Kun p. Ylä = t. Vasen = l. Leveys = w Korkeus = h Lopeta
Tämä osa säätää kuvan tietylle alueelle. Ja se on tehty. Lopuksi vapautimme sen asettamalla sen tyhjäksi.
Aseta p = ei mitään
Tämä rivi vapauttaa muistin.
Tämä koodi toimii Excel 2016: ssa, Excel 2013: ssa, Excel 2010: ssä ja Excel 2007: ssä.
Halusin lisätä kuvan alueelle A1: C10. Tätä varten muutin alla olevaa koodiani
Sub TestInsertPictureInRange () InsertPictureInRange "C: \ Käyttäjät \ Manish Singh \ Lataukset \ biker.jpg", _Range ("A1: C10")
End Sub |
Ja tämän sain. Juuri mitä halusin.
Joten kyllä. Käytä tätä koodia lisätäksesi kuvan Excel -soluun tai -alueeseen. Pelaa koodin ympärillä. Yritä lisätä eri formaatteja, outoja alueita ja katso mitä tapahtuu. Jos sinulla on kysyttävää tai sinulla on haasteita, käytä alla olevia kommentteja.
Lataa tiedosto
Suosittuja artikkeleita:
50 Excel -pikanäppäintä tuottavuuden lisäämiseksi
VLOOKUP -toiminnon käyttäminen Excelissä
COUNTIF -toiminnon käyttäminen Excelissä
SUMIF -toiminnon käyttäminen Excelissä