Bok tamo! Pokušavam ljuljati nadzornu ploču sa značajnim slikama. Ili samo pokušavate umetnuti sliku u ćelijski Excel VBA. Pa, ne možete umetnuti slike u Excel ćelije, ali možete im promijeniti veličinu da se uklope u Excel ćeliju. Ručno izvođenje oduzet će puno vremena i neugodno je. Dakle, koje je rješenje? Pogodili ste dobro, VBA makronaredba. Sada ćemo kodirati.
Ispod je Excel vba kod za umetanje slike iz mape u ćeliju ili zadani raspon. Pritisnite Alt+F11, umetnite modul i kopirajte ovaj kôd.
Ne brinite, dolje sam vam objasnio kako biste ga mogli izmijeniti prema svojim potrebama.
Umetnite sliku u Excel ćeliju s VBA u ćeliju ili zadani raspon
Pod TestInsertPictureInRange () InsertPictureInRange "C: \ Ime mape \ Ime slike_datoteke.gif", _Range ("B5: D10")
Kraj podm 'ubacuje sliku i mijenja joj veličinu kako bi odgovarala rasponu TargetCells Dim p kao objekt, t kao dvostruko, l kao dvostruko, w kao dvostruko, h kao dvostruko Ako TypeName (ActiveSheet) "Worksheet", tada izađite iz Sub Ako Dir (PictureFileName) = "" Zatim izađite iz podv 'uvoz slike Postavite p = ActiveSheet.Pictures.Insert (PictureFileName) 'odrediti pozicije Uz TargetCells t = .Najviše l = .Lijevo w = .Offset (0, .Columns.Count) .Lijevo - .Lijevo h = .Offset (.Redovi.Broj, 0) .Top - .Top Završi s 'slika položaja Uz str .Top = t .Lijevo = l .Širina = w .Visina = h Završi s Postavite p = Ništa Kraj podm |
Obrazloženje:
1. dio:
Pod TestInsertPictureInRange () InsertPictureInRange "C: \ Ime mape \ Ime slike_datoteke.gif", _Range ("B5: D10")
Kraj podm |
Gornja potprogram samo poziva našu glavnu potprogram InsertPictureInRange koja uzima samo dva argumenta. Prvo adresa slikovne datoteke s njezinim imenom i drugi raspon u koji želite umetnuti sliku u Excel.
2. dio:
Sub InsertPictureInRange (PictureFileName As String, TargetCells As Range) 'ubacuje sliku i mijenja joj veličinu tako da odgovara rasponu TargetCellsDim p Kao objekt, t Kao dvostruko, l Kao dvostruko, w Kao dvostruko, h Kao dvostruko
Ako TypeName (ActiveSheet) "Worksheet", tada izađite iz Sub Ako Dir (PictureFileName) = "" Zatim izađite iz podv 'uvoz slike Postavite p = ActiveSheet.Pictures.Insert (PictureFileName) 'odrediti pozicije Uz TargetCells t = .Najviše l = .Lijevo w = .Offset (0, .Columns.Count) .Lijevo - .Lijevo h = .Offset (.Redovi.Count, 0) .Top - .Top Završi s 'slika položaja Uz str .Top = t .Lijevo = l .Širina = w .Visina = h Završi s Postavite p = Ništa Kraj podm |
Ovo je glavna potprogram koja ubacuje i mijenja veličinu slike kako bi odgovarala zadanom rasponu. Zaronimo u to.
Dim p kao objekt, t kao dvostruko, l kao dvostruko, w kao dvostruko, h kao dvostruko
Ovaj redak je samo varijabla koja nam je potrebna. Napomena p Kao varijablu objekta. Ova varijabla će zadržati našu sliku.
Ako TypeName (ActiveSheet) "Worksheet", tada izađite iz Sub
On provjerava je li aktivni list radni list ili nije. Ako to ne učini, odmah će izaći iz koda i ništa se neće dogoditi.
Ako Dir (PictureFileName) = "" Zatim izađite iz podv
Provjerite jeste li unijeli adresu slike za umetanje fotografije u ćeliju programa Excel. Ako ga niste dostavili, odmah će izaći i ništa se neće dogoditi.
Postavite p = ActiveSheet.Pictures.Insert (PictureFileName)
Ovo je najvažnija linija. U ovom retku koristimo funkciju Umetanje aktivne tablice. Slike prigovaraju i stavljaju ga u objekt p koji smo ranije deklarirali. Sada pomoću p možemo jednostavno prilagoditi širinu i duljinu slike.
S TargetCells t = .Top l = .Left w = .Offset (0, .Columns.Count) .Left - .Left h = .Offset (.Rows.Count, 0) .Top - .Top End With
Ovaj segment samo dobiva Duljinu, Širinu, Gore i Lijevo iz zadanog raspona.
S p .Top = t .Lijevo = l. Širina = w Visina = h Završi s
Ovaj dio prilagođava sliku zadanom rasponu. I gotovo je. Na kraju, oslobodili smo ga postavljanjem na ništa.
Postavite p = Ništa
Ova linija oslobađa memoriju.
Ovaj kôd će raditi u programima Excel 2016, Excel 2013, Excel 2010 i Excel 2007.
Ovdje sam želio umetnuti sliku u raspon A1: C10. Da bih to učinio, dolje sam izmijenio svoj kôd
Sub TestInsertPictureInRange () InsertPictureInRange "C: \ Korisnici \ Manish Singh \ Preuzimanja \ biker.jpg", _Range ("A1: C10")
Kraj podm |
I ovo sam dobio. Upravo ono što sam želio.
Pa da. Pomoću ovog koda umetnite sliku u ćeliju ili raspon programa Excel. Igrajte se oko koda. Pokušajte umetnuti različite formate, čudne raspone i vidjeti što će se dogoditi. Ako imate bilo kakvih pitanja ili ste suočeni s izazovom, koristite donji odjeljak komentara da biste me pitali.
Preuzmi datoteku
Popularni članci:
50 Excel prečaca za povećanje vaše produktivnosti
Kako koristiti funkciju VLOOKUP u Excelu
Kako koristiti funkciju COUNTIF u Excelu
Kako koristiti funkciju SUMIF u Excelu