Excel - Makro pro vložení obrázků do listu
- Problém
- Řešení
Problém
Snažím se vkládat obrázky do sloupce Excelu pomocí makra, které vezme refrence názvu souboru z buňky B2 a vloží obrázek do buňky A2. Například: pokud B2 obsahuje N235, pak obraz, který bude vložen do A2, bude N235.jpg z dané cesty v makru. To funguje v pořádku EXCEPT, pokud ve složce se stejným názvem jako ve složce není žádný obrázek.- Dostávám chybu za běhu 1004 a makro se zastaví a po té buňce nelze obraz zaplnit.
Řešení
Podřízený obrázek ()Dim picname As String
Dim pasteAt As Integer
Dim lThisRow As Long
lThisRow = 2
Dokud (buňky (lThisRow, 2) "")
pasteAt = lTotoRow
Buňky (pasteAt, 1) .Vybrat 'Toto je místo, kde bude obraz vložen
picname = Cells (lThisRow, 2) 'Toto je název obrázku
present = Dir ("C: Uživatelé Administrator Desktop L" & picname & ".jpg")
Pokud je přítomen, pak
ActiveSheet.Pictures.Insert ("C: Uživatelé Administrátor Pracoviště LC" & picname & ".jpg").
'' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ' '' '' '
'To změní velikost obrázku
'' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ' '' '' '
S výběrem
'.Left = Rozsah ("A6")
'.Top = Range ("A6")
.Left = Buňky (pasteAt, 1) .Left
.Top = Buňky (pasta, 1)
.ShapeRange.LockAspectRatio = msoFalse
.ShapeRange.Height = 100 #
.ShapeRange.Width = 130 #
.ShapeRange.Rotation = 0 #
Konec s
Jiný
Buňky (pasteAt, 1) = "Nebyl nalezen žádný obrázek"
Konec Pokud
lThisRow = lThisRow + 1
Smyčka
Rozsah ("A10") Vyberte
Application.ScreenUpdating = True
Konec Sub
ErrNoPhoto:
MsgBox "Nelze najít fotografii" Zobrazí okno se zprávou, pokud obrázek nebyl nalezen
Konec Sub
Rozsah ("B20") Vyberte
End Sub
Díky rizvisa1 pro tento tip.