„Excel“ - makrokomandas, skirtas nuotraukoms įterpti į darbalapį

  • Problema
  • Sprendimas

Problema

Bandau įterpti nuotraukas į „Excel“ stulpelį, naudojant makrokomandą, kuri atsiunčia failo pavadinimą iš B2 ląstelės ir įterpia paveikslėlį į A2 langelį. Pavyzdžiui: jei B2 yra N235, tuomet paveikslėlis, kuris bus įterptas į A2, būtų N235.jpg iš nurodyto kelio Macro. Tai veikia puikiai, jei nėra aplanke esančio paveikslėlio su tuo pačiu pavadinimu, kaip ir aplanke.
  • Gavau 1004 vykdymo klaidą ir „Macro“ sustabdomas ir negaliu užpildyti nuotraukos po to.

Sprendimas

 Sub paveikslėlis ()

Dim picname kaip eilutė

Dim pasteAt As Integer

Dim lThisRow As Long

lThisRow = 2

Atlikite (ląstelės (lThisRow, 2) "")

pasteAt = lThisRow

Ląstelės (pasteAt, 1) .Pasirinkite 'Tai yra vieta, kur bus įterptas vaizdas

picname = Ląstelės (lThisRow, 2) „Tai vaizdo pavadinimas

present = Dir ("C: Vartotojai Administratorius Darbas LC" & picname & ".jpg")

Jei yra "", tada

„ActiveSheet.Pictures.Insert“ („C: Vartotojai Administratorius Darbas LC“ & picname & „.jpg“). Pasirinkite „Kelias į vietą, kurioje saugomos nuotraukos

'' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ' '' '' '

„Tai keičia vaizdo dydį

'' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ' '' '' '

Su pasirinkimu

„.Left = Range („ A6 “)

„.Top = Range („ A6 “)

.Left = ląstelės (pasteAt, 1)

.Top = ląstelės (pasteAt, 1)

.ShapeRange.LockAspectRatio = msoFalse

.ShapeRange.Height = 100 #

.ShapeRange.Width = 130 #

.ShapeRange.Rotation = 0 #

Baigti su

Kitas

Ląstelės (pasteAt, 1) = "Nerasta vaizdo"

Baigti Jei

lThisRow = lThisRow + 1

Loop

Diapazonas („A10“)

Application.ScreenUpdating = True

Išeiti iš Sub

„ErrNoPhoto“:

„MsgBox“ „Nepavyko rasti nuotraukų“ „Rodo pranešimo laukelį, jei nuotrauka nerasta

Išeiti iš Sub

Diapazonas („B20“)

Pabaiga

Ačiū rizvisa1 už šį patarimą.

Ankstesnis Straipsnis Kitas Straipsnis

Geriausi Patarimai