Ahoj! Pokoušíte se rozhýbat palubní desku pomocí smysluplných obrázků. Nebo se jen pokoušíte vložit obrázek do buňky Excel VBA. Obrázky nemůžete vkládat do buněk aplikace Excel, ale můžete změnit jejich velikost tak, aby se vešly do buňky aplikace Excel. Ručně to zabere spoustu času a je to nepříjemné. Jaké je tedy řešení? Uhodli jste správně, makro VBA. Nyní kódujeme.
Níže je uveden kód excel vba pro vložení obrázku ze složky do buňky nebo daného rozsahu. Stiskněte Alt+F11, vložte modul a zkopírujte tento kód.
Nebojte se, vysvětlil jsem to níže, abyste to mohli upravit podle svých potřeb.
Vložte obrázek do buňky Excelu pomocí VBA do buňky nebo daného rozsahu
Sub TestInsertPictureInRange () InsertPictureInRange "C: \ FolderName \ PictureFileName.gif", _Range ("B5: D10")
End Sub 'vloží obrázek a upraví jeho velikost tak, aby odpovídal rozsahu TargetCells Dim p As Object, t As Double, l As Double, w As Double, h As Double Pokud TypeName (ActiveSheet) „Pracovní list“, pak Exit Sub If Dir (PictureFileName) = "" Then Exit Sub 'import obrázku Nastavit p = ActiveSheet.Pictures.Insert (PictureFileName) 'určit pozice S TargetCells t = .Nahoře l = .Vlevo w = .Offset (0, .Columns.Count) .Vlevo - .Vlevo h = .Offset (.Rows.Count, 0). Nahoru - .Nahoru Konec s 'poziční obrázek S p .Nahoře = t .Vlevo = l .Šířka = š .Výška = h Konec s Nastavit p = Nic End Sub |
Vysvětlení:
Část 1:
Sub TestInsertPictureInRange () InsertPictureInRange "C: \ FolderName \ PictureFileName.gif", _Range ("B5: D10")
End Sub |
Výše uvedený podprogram pouze volá náš hlavní podprogram InsertPictureInRange, který přebírá pouze dva argumenty. Nejprve adresu souboru obrázku s jeho názvem a za druhé Rozsah, kam chcete obrázek vložit do Excelu.
Část 2:
Sub InsertPictureInRange (PictureFileName As String, TargetCells As Range) 'vloží obrázek a změní jeho velikost tak, aby odpovídal rozsahu TargetCellsDim p jako objekt, t jako dvojitý, l jako dvojitý, w jako dvojitý, h jako dvojitý
Pokud TypeName (ActiveSheet) „Pracovní list“, pak Exit Sub If Dir (PictureFileName) = "" Then Exit Sub 'import obrázku Nastavit p = ActiveSheet.Pictures.Insert (PictureFileName) 'určit pozice S TargetCells t = .Nahoře l = .Vlevo w = .Offset (0, .Columns.Count) .Vlevo - .Vlevo h = .Offset (.Rows.Count, 0). Nahoru - .Nahoru Konec s 'poziční obrázek S p .Nahoře = t .Vlevo = l .Šířka = š .Výška = h Konec s Nastavit p = Nic End Sub |
Toto je hlavní podprogram, který vloží a změní velikost obrázku tak, aby odpovídal danému rozsahu. Pojďme se do toho ponořit.
Dim p As Object, t As Double, l As Double, w As Double, h As Double
Tento řádek je pouze proměnnou deklarací, kterou budeme potřebovat. Poznámka p Jako proměnná objektu. Tato proměnná udrží náš obrázek.
Pokud TypeName (ActiveSheet) „Pracovní list“, pak Exit Sub
Zkontroluje, zda je aktivní list pracovním listem nebo ne. Pokud tomu tak není, okamžitě opustí kód a nic se nestane.
If Dir (PictureFileName) = "" Then Exit Sub
Zkontrolujte, zda jste zadali adresu obrázku pro vložení fotografie do buňky aplikace Excel. Pokud jste jej neposkytli, okamžitě skončí a nic se nestane.
Nastavit p = ActiveSheet.Pictures.Insert (PictureFileName)
Toto je nejdůležitější řádek. V tomto řádku používáme funkci Vložit list s akty. Obrázky namítají a vložily do objektu p, který jsme deklarovali dříve. Nyní pomocí p můžeme snadno upravit šířku a délku obrázku.
With TargetCells t = .Top l = .Left w = .Offset (0, .Columns.Count) .Left - .Left h = .Offset (.Rows.Count, 0) .Top - .Top End With
Tento segment právě získá z daného rozsahu délku, šířku, nahoře a vlevo.
With p. Top = t. Left = l. Width = w Height = h End With
Tato část upravuje obraz na daný rozsah. A je hotovo. Nakonec jsme to osvobodili tím, že jsme to nastavili na nic.
Nastavit p = Nic
Tento řádek uvolňuje paměť.
Tento kód bude fungovat v Excelu 2016, Excelu 2013, Excelu 2010 a Excelu 2007.
Zde jsem chtěl vložit obrázek v rozsahu A1: C10. Za tímto účelem jsem níže upravil svůj kód
Dílčí TestInsertPictureInRange () InsertPictureInRange "C: \ Users \ Manish Singh \ Downloads \ biker.jpg", _Rozsah("A1: C10")
End Sub |
A tohle jsem dostal. Přesně to, co jsem chtěl.
Tak jo. Tento kód použijte k vložení obrázku do buňky nebo rozsahu aplikace Excel. Pohrajte si s kódem. Zkuste vložit různé formáty, podivné rozsahy a uvidíte, co se stane. Pokud máte nějaké dotazy nebo se potýkáte s jakoukoli výzvou, zeptejte se mě v sekci níže.
Stáhnout soubor
Oblíbené články:
50 zkratek aplikace Excel pro zvýšení produktivity
Jak používat funkci VLOOKUP v Excelu
Jak používat funkci COUNTIF v aplikaci Excel
Jak používat funkci SUMIF v aplikaci Excel