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.

Předchozí Článek Následující Článek

Nejlepší Tipy