Tere! Proovin raputada armatuurlauda sisukate piltidega. Või lihtsalt proovige pilti Excel VBA lahtrisse sisestada. Noh, te ei saa pilte Exceli lahtritesse sisestada, kuid saate selle suurust muuta, et see sobiks Exceli lahtrisse. Selle käsitsi tegemine võtab palju aega ja see on tüütu. Mis on siis lahendus? Arvasite õigesti, VBA makro. Nüüd kodeerime.
Allpool on Exceli vba -kood, et lisada pilt kaustast lahtrisse või antud vahemikku. Vajutage klahve Alt+F11, sisestage moodul ja kopeerige see kood.
Ärge muretsege, ma selgitasin seda allpool, et saaksite seda vastavalt oma vajadustele muuta.
Sisestage pilt VBA -ga Exceli lahtrisse lahtrisse või antud vahemikku
Sub TestInsertPictureInRange () InsertPictureInRange "C: \ FolderName \ PictureFileName.gif", _Range ("B5: D10")
End Sub 'lisab pildi ja muudab selle suurust vastavalt TargetCells vahemikule Dim p As objekt, t Nagu Double, l Nagu Topelt, w Nagu Topelt, h Nagu Topelt Kui TypeName (ActiveSheet) "Tööleht", siis väljuge alammenüüst Kui Dir (PictureFileName) = "" Siis välju alamist 'impordi pilt Määra p = ActiveSheet.Pictures.Insert (PictureFileName) "määrake positsioonid Koos sihtmärkidega t = .Ülemine l = .Vasak w = .Nihke (0, .Veerud.arv) .Vasak - .Vasak h = .Lülitus (.Ridade arv, 0). Ülemine -. Ülemine Lõpeta 'positsioonipilt Koos lk .Ülemine = t .Vasak = l . Laius = w .Kõrgus = h Lõpeta Määra p = mitte midagi End Sub |
Selgitus:
1. osa:
Sub TestInsertPictureInRange () InsertPictureInRange "C: \ FolderName \ PictureFileName.gif", _Range ("B5: D10")
End Sub |
Ülaltoodud alamprogramm kutsub lihtsalt meie peamist alamprogrammi InsertPictureInRange, mis võtab ainult kaks argumenti. Esiteks pildifaili aadress koos selle nimega ja teine vahemik, kuhu soovite pildi Excelisse sisestada.
2. osa:
Sub InsertPictureInRange (PictureFileName As String, TargetCells As Range) "lisab pildi ja muudab selle suurust vastavalt TargetCells vahemikule Dim p As Object, t As Double, l As Double, w As Double, h As Double
Kui TypeName (ActiveSheet) "Tööleht", siis väljuge alammenüüst Kui Dir (PictureFileName) = "" Siis välju alamist 'impordi pilt Määra p = ActiveSheet.Pictures.Insert (PictureFileName) "määrake positsioonid Koos sihtmärkidega t = .Ülemine l = .Vasak w = .Nihke (0, .Veerud.arv) .Vasak - .Vasak h = .Lülitus (.Ridade arv, 0). Ülemine -. Ülemine Lõpeta 'positsioonipilt Koos lk .Ülemine = t .Vasak = l . Laius = w .Kõrgus = h Lõpeta Määra p = mitte midagi End Sub |
See on peamine alamprogramm, mis lisab pildi ja muudab selle suurust vastavalt antud vahemikule. Süveneme sellesse.
Dim p As objekt, t Nagu Double, l Nagu Topelt, w Nagu Topelt, h Nagu Topelt
See rida on lihtsalt muutuv deklaratsioon, mida me vajame. Märkus p Objekti muutujana. See muutuja hoiab meie pilti.
Kui TypeName (ActiveSheet) "Tööleht", siis väljuge alammenüüst
See kontrollib, kas tegevuste leht on tööleht või mitte. Kui ei, siis väljub kood koheselt ja midagi ei juhtu.
Kui Dir (PictureFileName) = "" Siis välju alamist
Kontrollige, kas olete andnud pildile aadressi, kuhu foto Exceli lahtrisse sisestada. Kui te pole seda pakkunud, väljub see kohe ja midagi ei juhtu.
Määra p = ActiveSheet.Pictures.Insert (PictureFileName)
Nüüd on see kõige olulisem rida. Sellel real kasutame aktiivlehe funktsiooni Sisesta. Pildistab objekti ja paneb selle objekti p, mille me varem deklareerisime. Nüüd saame p abil hõlpsalt pildi laiust ja pikkust reguleerida.
Sihtmärkidega t = .Ülemine l = .Vasak w = .Nihke (0, .Veerud.arv) .Vasak - .Vasak h = .Lülitus (.Ridade arv, 0). Ülemine - .Lõpu lõpp
See segment saab antud vahemikust lihtsalt pikkuse, laiuse, üla- ja vasakpoolsuse.
Kui p. Ülemine = t. Vasak = l. Laius = w Kõrgus = h Lõpeta
See osa kohandab pildi etteantud vahemikule. Ja see on tehtud. Lõpuks vabastasime selle, seades selle tühjaks.
Määra p = mitte midagi
See rida vabastab mälu.
See kood töötab programmides Excel 2016, Excel 2013, Excel 2010 ja Excel 2007.
Siin tahtsin pildi lisada vahemikku A1: C10. Selleks muutsin allpool oma koodi
Sub TestInsertPictureInRange () InsertPictureInRange "C: \ Kasutajad \ Manish Singh \ Allalaadimised \ biker.jpg", _Range ("A1: C10")
End Sub |
Ja seda ma sain. Täpselt see, mida ma tahtsin.
Niisiis, jah. Kasutage seda koodi pildi lisamiseks Exceli lahtrisse või vahemikku. Mängige koodi ümber. Proovige sisestada erinevaid vorminguid, kummalisi vahemikke ja vaadata, mis juhtub. Kui teil on küsimusi või seisate silmitsi mõne väljakutsega, kasutage minult allpool kommentaaride jaotist.
Laadige fail alla
Populaarsed artiklid:
50 Exceli otseteed tootlikkuse suurendamiseks
Funktsiooni VLOOKUP kasutamine Excelis
Funktsiooni COUNTIF kasutamine Excelis
Funktsiooni SUMIF kasutamine Excelis