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.

Predchádzajúci Článok Nasledujúci Článok

Najlepšie Tipy