Excel - Makro na vloženie obrázkov do pracovného hárka
- Problém
- Riešenie
Problém
Snažím sa vkladať obrázky do stĺpca programu Excel pomocou makra, ktoré berie názov súboru z bunky B2 a vloží obrázok do bunky A2. Napríklad: ak B2 obsahuje N235, potom obraz, ktorý bude vložený do A2, bude N235.jpg z danej cesty v makre. Toto funguje dobre EXCEPT, keď v priečinku nie je žiadny obrázok s rovnakým názvom ako v priečinku.- Dostávam runtime chybu 1004 a makro sa zastaví a nemôže vyplniť obrázok po tej bunke.
Riešenie
Vedľajší obrázok ()Dim picname As String
Dim pasteAt As Integer
Dim lThisRow As Long
lThisRow = 2
Robiť počas (bunky (lThisRow, 2) "")
pasteAt = lTotoRow
Bunky (pasteAt, 1) .Vybrať 'Toto je miesto, kde bude vložený obrázok
picname = Cells (lThisRow, 2) 'Toto je názov obrázku
present = Dir ("C: Používatelia Administrátor Pracovný LC" & picname & ".jpg")
Ak existuje ""
ActiveSheet.Pictures.Insert ("C: Používatelia Správca Pracovná plocha LC" & picname & ".jpg") Vyberte položku Cesta k uloženým obrázkom
, ', ', ', ', ', ', ', ', ', ', ', ', ', ', ', ', ', ', ', ', ', ', ', ', ', ', ' '
'Toto zmení veľkosť obrázka
, ', ', ', ', ', ', ', ', ', ', ', ', ', ', ', ', ', ', ', ', ', ', ', ', ', ', ' '
S výberom
'.Left = Rozsah ("A6")
'.Top = Range ("A6")
.Left = Bunky (pasteAt, 1) .Left
.Top = Bunky (pasta, 1)
.ShapeRange.LockAspectRatio = msoFalse
.ShapeRange.Height = 100 #
.ShapeRange.Width = 130 #
.ShapeRange.Rotation = 0 #
Koniec s
inak
Bunky (pasteAt, 1) = "Nenašiel sa žiadny obrázok"
Koniec Ak
lThisRow = lThisRow + 1
slučka
Range ( "A10"). Vyberte
Application.ScreenUpdating = True
Ukončite Sub
ErrNoPhoto:
MsgBox "Nepodarilo sa nájsť fotografiu" 'Zobrazí okno s hlásením, ak sa obrázok nenašiel
Ukončite Sub
Range ( "B20"). Vyberte
End Sub
Vďaka rizvisa1 pre tento tip.