Sveiki! Mēģina satricināt informācijas paneli ar nozīmīgiem attēliem. Vai vienkārši mēģiniet ievietot attēlu šūnā Excel VBA. Jūs nevarat ievietot attēlus Excel šūnās, bet varat mainīt to izmērus, lai tie ietilptu Excel šūnā. Manuāla darbība prasīs daudz laika, un tas ir kaitinoši. Tātad, kāds ir risinājums? Jūs uzminējāt pareizi, VBA makro. Mēs kodēsim tagad.
Zemāk ir Excel vba kods, lai šūnā vai noteiktā diapazonā ievietotu attēlu no mapes. Nospiediet Alt+F11, ievietojiet moduli un nokopējiet šo kodu.
Neuztraucieties, es to paskaidroju zemāk, lai jūs varētu to mainīt atbilstoši savām vajadzībām.
Ievietojiet attēlu šūnā vai noteiktā diapazonā Excel šūnā ar VBA
Sub TestInsertPictureInRange () InsertPictureInRange "C: \ FolderName \ PictureFileName.gif", _Range ("B5: D10")
Beigt apakš 'ievieto attēlu un maina tā izmēru, lai tas atbilstu TargetCells diapazonam Dim p kā objekts, t kā dubultā, l kā dubultā, w kā dubultā, h kā dubultā Ja TypeName (ActiveSheet) "darblapa", tad izejiet no apakš Ja Dir (PictureFileName) = "" Tad iziet no apakš 'importēt attēlu Iestatiet p = ActiveSheet.Pictures.Insert (PictureFileName) 'noteikt pozīcijas Ar TargetCells t = .Uz augšu l =. Pa kreisi w = .Pārvietojums (0, .Columns.Count). Pa kreisi - .Left h = .Pārvietojums (.Row.Count, 0). Augšā -. Augšā Beigt ar 'pozīcijas attēls Ar p .Uz augšu = t . Pa kreisi = l . Platums = w .Augstums = h Beigt ar Iestatiet p = neko Beigt apakš |
Paskaidrojums:
1. daļa:
Sub TestInsertPictureInRange () InsertPictureInRange "C: \ FolderName \ PictureFileName.gif", _Range ("B5: D10")
Beigt apakš |
Iepriekš minētā apakšprogramma vienkārši izsauc mūsu galveno apakšprogrammu InsertPictureInRange, kurā ir tikai divi argumenti. Vispirms attēla faila adrese ar nosaukumu un otrais diapazons, kurā vēlaties ievietot attēlu programmā Excel.
2. daļa:
Sub InsertPictureInRange (PictureFileName As String, TargetCells As Range) ”ievieto attēlu un maina tā izmērus, lai tas atbilstu TargetCells diapazonam Dim p As Object, t As Double, l As Double, w As Double, h As Double
Ja TypeName (ActiveSheet) "darblapa", tad izejiet no apakš Ja Dir (PictureFileName) = "" Tad iziet no apakš 'importēt attēlu Iestatiet p = ActiveSheet.Pictures.Insert (PictureFileName) 'noteikt pozīcijas Ar TargetCells t = .Uz augšu l =. Pa kreisi w = .Pārvietojums (0, .Columns.Count). Pa kreisi - .Left h = .Pārvietojums (.Row.Count, 0). Augšā -. Augšā Beigt ar 'pozīcijas attēls Ar p .Uz augšu = t . Pa kreisi = l . Platums = w .Augstums = h Beigt ar Iestatiet p = neko Beigt apakš |
Šī ir galvenā apakšprogramma, kas ievieto un maina attēlu, lai tas atbilstu noteiktajam diapazonam. Iedziļināsimies tajā.
Dim p kā objekts, t kā dubultā, l kā dubultā, w kā dubultā, h kā dubultā
Šī rinda ir tikai mainīga deklarācija, kas mums būs nepieciešama. Piezīme p Kā objekta mainīgais. Šis mainīgais saglabās mūsu attēlu.
Ja TypeName (ActiveSheet) "darblapa", tad izejiet no apakš
Tā pārbauda, vai Aktīvā lapa ir darblapa vai nav. Ja tas nenotiks, tas nekavējoties izies no koda un nekas nenotiks.
Ja Dir (PictureFileName) = "" Tad iziet no apakš
Pārbaudiet, vai esat norādījis attēla adresi, lai ievietotu fotoattēlu Excel šūnā. Ja neesat to nodrošinājis, tas nekavējoties izies un nekas nenotiks.
Iestatiet p = ActiveSheet.Pictures.Insert (PictureFileName)
Tagad šī ir vissvarīgākā līnija. Šajā rindā mēs izmantojam Activesheet funkciju Insert. Attēli iebilst un ievieto to iepriekš paziņotajā objektā p. Tagad, izmantojot p, mēs varam viegli pielāgot attēla platumu un garumu.
Ar TargetCells t = .Augšējais l = .Left w = .Pārvietojums (0, .Columns.Count). Kreisais - .Left h = .Pārvietojums (.Rows.Count, 0).
Šis segments no noteiktā diapazona iegūst garumu, platumu, augšējo un kreiso pusi.
Ar p. Augšā = t. Kreisais = l. Platums = w Augstums = h Beigt ar
Šī daļa pielāgo attēlu noteiktajam diapazonam. Un tas ir izdarīts. Visbeidzot, mēs to atbrīvojam, iestatot to uz neko.
Iestatiet p = neko
Šī līnija atbrīvo atmiņu.
Šis kods darbosies programmās Excel 2016, Excel 2013, Excel 2010 un Excel 2007.
Šeit es gribēju ievietot attēlu diapazonā A1: C10. Lai to izdarītu, zemāk es mainīju savu kodu
Sub TestInsertPictureInRange () InsertPictureInRange "C: \ Lietotāji \ Manish Singh \ Lejupielādes \ biker.jpg", _Range ("A1: C10")
Beigt apakš |
Un tas ir tas, ko es saņēmu. Tieši to, ko es gribēju.
Tātad, jā. Izmantojiet šo kodu, lai ievietotu attēlu Excel šūnā vai diapazonā. Spēlējiet ap kodu. Mēģiniet ievietot dažādus formātus, dīvainus diapazonus un redzēt, kas notiek. Ja jums ir kādi jautājumi vai saskaraties ar kādu izaicinājumu, izmantojiet zemāk esošo komentāru sadaļu, lai uzdotu man jautājumu.
Lejupielādēt failu
Populāri raksti:
50 Excel saīsnes, lai palielinātu produktivitāti
Kā lietot funkciju VLOOKUP programmā Excel
Kā programmā Excel izmantot funkciju COUNTIF
Kā lietot funkciju SUMIF programmā Excel