Zdravo! Poskusite pretresati armaturno ploščo s pomembnimi slikami. Ali pa samo poskušate vstaviti sliko v celico Excel VBA. No, slik v Excelovih celicah ne morete vstaviti, lahko pa jih spremenite tako, da se prilegajo celici Excel. Ročno izvajanje bo trajalo veliko časa in je nadležno. Kaj je torej rešitev? Prav ste uganili, makro VBA. Zdaj bomo kodirali.
Spodaj je koda excel vba za vstavljanje slike iz mape v celico ali določeno območje. Pritisnite Alt+F11, vstavite modul in kopirajte to kodo.
Brez skrbi, spodaj sem razložil, da ga lahko spremenite glede na svoje potrebe.
Vstavite sliko v celico Excel z VBA v celico ali dano območje
Pod TestInsertPictureInRange () InsertPictureInRange "C: \ Ime mape \ SlikaFileName.gif", _Range ("B5: D10")
End Sub 'vstavi sliko in ji spremeni velikost, da ustreza območju TargetCells Zatemni p kot objekt, t kot dvojno, l kot dvojno, w kot dvojno, h kot dvojno Če TypeName (ActiveSheet) "Worksheet" Nato zapustite Sub Če Dir (PictureFileName) = "" Nato zapustite pod 'uvoz slike Nastavite p = ActiveSheet.Pictures.Insert (PictureFileName) 'določiti položaje S TargetCells t = .Na vrh l = .Levo w = .Odmik (0,. Stolpci.Število). Levo - .Levo h = .Odmik (.Rows.Count, 0) .Top - .Top Končaj s 'slika položaja S p .Top = t .Levo = l .Širina = w .Višina = h Končaj s Nastavite p = nič End Sub |
Pojasnilo:
1. del:
Pod TestInsertPictureInRange () InsertPictureInRange "C: \ Ime mape \ SlikaFileName.gif", _Range ("B5: D10")
End Sub |
Zgornja podprogram kliče samo našo glavno podprogram InsertPictureInRange, ki sprejme le dva argumenta. Najprej naslov slikovne datoteke z njenim imenom in drugi obseg, kamor želite sliko vstaviti v Excel.
2. del:
Sub InsertPictureInRange (PictureFileName As String, TargetCells As Range) 'vstavi sliko in ji spremeni velikost, da se prilega obsegu TargetCellsDim p kot objekt, t kot dvojno, l kot dvojno, w kot dvojno, h kot dvojno
Če TypeName (ActiveSheet) "Worksheet" Nato zapustite Sub Če Dir (PictureFileName) = "" Nato zapustite pod 'uvoz slike Nastavite p = ActiveSheet.Pictures.Insert (PictureFileName) 'določiti položaje S TargetCells t = .Na vrh l = .Levo w = .Odmik (0,. Stolpci.Število). Levo - .Levo h = .Odmik (.Rows.Count, 0) .Top - .Top Končaj s 'slika položaja S p .Top = t .Levo = l .Širina = w .Višina = h Končaj s Nastavite p = nič End Sub |
To je glavna podprogram, ki vstavi in spremeni velikost slike, da ustreza določenemu obsegu. Poglobimo se vanj.
Zatemni p kot objekt, t kot dvojno, l kot dvojno, w kot dvojno, h kot dvojno
Ta vrstica je le spremenljivka, ki jo bomo potrebovali. Opomba p Kot spremenljivka objekta. Ta spremenljivka bo držala našo sliko.
Če TypeName (ActiveSheet) "Worksheet" Nato zapustite Sub
Preverja, ali je aktivni list delovni list ali ne. Če se to ne zgodi, bo kodo takoj zapustil in nič se ne bo zgodilo.
Če Dir (PictureFileName) = "" Nato zapustite pod
Preverite, ali ste za sliko dali naslov za vstavljanje fotografije v celico Excel. Če ga niste zagotovili, bo takoj izstopil in nič se ne bo zgodilo.
Nastavite p = ActiveSheet.Pictures.Insert (PictureFileName)
Zdaj je to najpomembnejša vrstica. V tej vrstici uporabljamo funkcijo Vstavi aktivne liste. Slike ugovarjajo in jih dajo v objekt p, ki smo ga prej razglasili. S pomočjo p lahko preprosto prilagodimo širino in dolžino slike.
S TargetCells t = .Top l = .Left w = .Offset (0, .Columns.Count) .Left - .Left h = .Offset (.Rows.Count, 0). Top - .Top End With
Ta segment dobi samo dolžino, širino, vrh in levo iz danega območja.
S p .Top = t. Levo = l. Širina = w Višina = h Končaj z
Ta del sliko prilagodi danemu obsegu. In končano je. Nazadnje smo ga osvobodili in ga nastavili na nič.
Nastavite p = nič
Ta vrstica sprosti spomin.
Ta koda bo delovala v programih Excel 2016, Excel 2013, Excel 2010 in Excel 2007.
Tu sem želel sliko vstaviti v obseg A1: C10. V ta namen sem spodaj spremenil svojo kodo
Sub TestInsertPictureInRange () InsertPictureInRange "C: \ Users \ Manish Singh \ Downloads \ biker.jpg", _Range ("A1: C10")
End Sub |
In to sem dobil. Točno to, kar sem hotel.
Torej, ja. S to kodo vstavite sliko v celico ali obseg Excel. Poigrajte se s kodo. Poskusite vstaviti različne formate, čudne obsege in poglejte, kaj se zgodi. Če imate kakršna koli vprašanja ali se soočate s kakšnim izzivom, me vprašajte v spodnjem razdelku s komentarji.
Prenesite datoteko
Priljubljeni članki:
50 bližnjic v Excelu za večjo produktivnost
Kako uporabljati funkcijo VLOOKUP v Excelu
Kako uporabljati funkcijo COUNTIF v Excelu
Kako uporabljati funkcijo SUMIF v Excelu