Sveiki! Bando supurtyti prietaisų skydelį prasmingomis nuotraukomis. Arba tiesiog bandykite įterpti paveikslėlį į langelį „Excel VBA“. Na, jūs negalite įterpti paveikslėlių į „Excel“ langelius, bet galite pakeisti jo dydį, kad tilptų į „Excel“ langelį. Tai padaryti rankiniu būdu užtruks daug laiko ir tai erzina. Taigi koks yra sprendimas? Jūs teisingai atspėjote, „VBA Macro“. Mes koduosime dabar.
Žemiau yra „Excel“ vba kodas, skirtas įterpti paveikslėlį iš aplanko į langelį ar tam tikrą diapazoną. Paspauskite Alt+F11, įdėkite modulį ir nukopijuokite šį kodą.
Nesijaudinkite, aš tai paaiškinau žemiau, kad galėtumėte jį pakeisti pagal savo poreikius.
Įterpkite paveikslėlį į „Excel“ langelį su VBA į langelį arba tam tikrą diapazoną
Sub TestInsertPictureInRange () InsertPictureInRange "C: \ FolderName \ PictureFileName.gif", _Range ("B5: D10")
Pabaiga Sub “įterpia paveikslėlį ir pakeičia jo dydį, kad atitiktų„ TargetCells “diapazoną Dim p Kaip objektas, t kaip dvigubas, l kaip dvigubas, w kaip dvigubas, h kaip dvigubas Jei „TypeName“ („ActiveSheet“) „Darbo lapas“, tada išeikite iš antrinio Jei Dir (PictureFileName) = "" Tada išeikite iš antr “importuoti paveikslėlį Nustatykite p = ActiveSheet.Pictures.Insert (PictureFileName) “nustatyti pozicijas Su „TargetCells“ t = .Viršus l =. Kairė w = .Perkreipimas (0, .Skulpeliai.Skaičius) .Kairė - .Kairė h = .Perkreipimas (.Rows.Count, 0). Top - .Top Pabaiga su 'padėties paveikslėlis Su p .Viršus = t .Kairė = l . Plotis = w .Aukštis = h Pabaiga su Nustatykite p = nieko Pabaiga Sub |
Paaiškinimas:
1 dalis:
Sub TestInsertPictureInRange () InsertPictureInRange "C: \ FolderName \ PictureFileName.gif", _Range ("B5: D10")
Pabaiga Sub |
Aukščiau pateikta paprograma tiesiog vadina mūsų pagrindinę paprogramę „InsertPictureInRange“, kuri apima tik du argumentus. Pirma, vaizdo failo adresas su pavadinimu ir antrasis diapazonas, kuriame norite įterpti paveikslėlį „Excel“.
2 dalis:
Sub InsertPictureInRange (PictureFileName As String, TargetCells As Range) “įterpia paveikslėlį ir pakeičia jo dydį, kad atitiktų TargetCells diapazoną Dim Dim kaip objektas, t kaip dvigubas, l kaip dvigubas, w kaip dvigubas, h kaip dvigubas
Jei „TypeName“ („ActiveSheet“) „Darbo lapas“, tada išeikite iš antrinio Jei Dir (PictureFileName) = "" Tada išeikite iš antr “importuoti paveikslėlį Nustatykite p = ActiveSheet.Pictures.Insert (PictureFileName) “nustatyti pozicijas Su „TargetCells“ t = .Viršus l =. Kairė w = .Perkreipimas (0, .Columns.Count) .Kairė - .Kairė h = .Perkreipimas (.Rows.Count, 0). Į viršų - Pabaiga su 'padėties paveikslėlis Su p .Viršus = t .Kairė = l . Plotis = w .Aukštis = h Pabaiga su Nustatykite p = nieko Pabaiga Sub |
Tai yra pagrindinė paprogramė, įterpianti ir pakeičianti paveikslėlio dydį, kad jis atitiktų nurodytą diapazoną. Pasigilinkime į tai.
Dim p Kaip objektas, t kaip dvigubas, l kaip dvigubas, w kaip dvigubas, h kaip dvigubas
Ši eilutė yra tik kintama deklaracija, kurios mums reikės. Pastaba p Kaip objekto kintamasis. Šis kintamasis išlaikys mūsų paveikslėlį.
Jei „TypeName“ („ActiveSheet“) „Darbo lapas“, tada išeikite iš antrinio
Jis tikrina, ar aktyvus lapas yra darbalapis, ar ne. Jei to nepadarys, jis iš karto išeis iš kodo ir nieko neįvyks.
Jei Dir (PictureFileName) = "" Tada išeikite iš antr
Patikrinkite, ar pateikėte paveikslėlio adresą, kad įterptumėte nuotrauką į „Excel“ langelį. Jei jo nepateikėte, jis iš karto išeis ir nieko neatsitiks.
Nustatykite p = ActiveSheet.Pictures.Insert (PictureFileName)
Dabar tai yra svarbiausia eilutė. Šioje eilutėje naudojame „Activesheet“ funkciją „Įterpti“. Paveikslėliai objektas ir įdėti jį į objektą p, kurį mes paskelbėme anksčiau. Dabar naudodami p galime lengvai reguliuoti vaizdo plotį ir ilgį.
Su TargetCells t = .Viršutinis l = .Kairysis w = .Nukreipti (0, .Columns.Count) .Kairė - .Kairė h = .Perkreipti (.Rows.Count, 0). Į viršų - .Pabaigti
Šis segmentas tiesiog gauna ilgį, plotį, viršuje ir kairėje iš nurodyto diapazono.
Su p .Viršus = t. Kairė = l. Plotis = w Aukštis = h Pabaiga
Ši dalis pritaiko vaizdą pagal nurodytą diapazoną. Ir padaryta. Galiausiai mes jį išlaisviname, nenustatydami nieko.
Nustatykite p = nieko
Ši eilutė atlaisvina atmintį.
Šis kodas veiks „Excel 2016“, „Excel 2013“, „Excel 2010“ ir „Excel 2007“.
Čia norėjau įterpti vaizdą į diapazoną A1: C10. Norėdami tai padaryti, pakeičiau savo kodą žemiau
Sub TestInsertPictureInRange () InsertPictureInRange "C: \ Users \ Manish Singh \ Downloads \ biker.jpg", _Diapazonas("A1: C10")
Pabaiga Sub |
Ir štai ką aš gavau. Būtent tai, ko norėjau.
Taigi. Naudokite šį kodą norėdami įterpti paveikslėlį į „Excel“ langelį ar diapazoną. Žaisk aplink kodą. Pabandykite įterpti skirtingus formatus, keistus diapazonus ir pažiūrėkite, kas atsitiks. Jei turite klausimų ar susiduriate su kokiais nors iššūkiais, pasinaudokite žemiau esančia komentarų skiltimi.
Atsisiųsti failą
Populiarūs straipsniai:
50 „Excel“ nuorodų, skirtų produktyvumui padidinti
Kaip naudotis „VLOOKUP“ funkcija „Excel“
Kaip naudoti funkciją „COUNTIF“ programoje „Excel“
Kaip naudotis „SUMIF“ funkcija „Excel“