Excel - Un macro pentru a insera imagini într-o foaie de lucru

  • Problema
  • Soluţie

Problema

Încerc să introduc imagini în coloana Excel folosind macro care ia numele refrence din celula B2 și introduce imaginea în celula A2. De exemplu: dacă B2 conține N235 atunci imaginea care va fi introdusă în A2 ar fi N235.jpg din calea dată în Macro. Acest lucru funcționează bine EXCEPT când nu există nicio imagine în dosarul cu același nume ca în dosar.
  • Obțineți o eroare de execuție 1004, iar Macro se oprește și nu poate completa imaginea după acea celulă.

Soluţie

 Sub Imagine ()

Dim picname ca șir

Dim pasteAt ca intreg

Dați-i drumul atât de lung

lThisRow = 2

În timp ce (celule (lThisRow, 2) ")

pasteAt = lThisRow

Celule (pasteAt, 1). Selectați "Aici veți introduce imaginea

picname = Celule (lThisRow, 2) 'Acesta este numele imaginii

prezent = Dir ("C: \ Users \ Administrator \ Desktop \ LC \" & picname & ".jpg")

Dacă este prezent

ActiveSheet.Pictures.Insert ("C: \ Users \ Administrator \ Desktop \ LC \" & picname & ".jpg") Selectați "Calea spre locul unde sunt stocate imaginile

„“ „“ „“ „“ „“ „“ „“ „“ „“ „“ „“ „“ „“ „“ „“ „“ „“ „“ „“ „“ „“ „“ „“ „“ „“ „“ „““

"Aceasta redimensionează imaginea

„“ „“ „“ „“ „“ „“ „“ „“ „“ „“ „“ „“ „“ „“ „“ „“ „“ „“ „“ „“ „“ „“ „“ „“ „“ „“ „““

Cu Selecție

".Left = Range (" A6 ")

".Top = Interval (" A6 ")

.Left = celule (pasteAt, 1)

.Top = Celule (pasteAt, 1) .Top

.ShapeRange.LockAspectRatio = msoFalse

.ShapeRange.Height = 100 #

.ShapeRange.Width = 130 #

.ShapeRange.Rotation = 0 #

Se termina cu

altfel

Celule (pasteAt, 1) = "Nu a fost găsită nicio imagine"

Terminați Dacă

lThisRow = lThisRow + 1

Buclă

Range ( "A10"). Selectați

Aplicație.ScreenUpdating = Adevărat

Ieșire Sub

ErrNoPhoto:

MsgBox "Imposibil de găsit fotografie" 'Afișează caseta de mesaj dacă imaginea nu a fost găsită

Ieșire Sub

Range ( "B20"). Selectați

End Sub

Vă mulțumim pentru rizvisa1 pentru acest sfat.

Articolul Precedent Articolul Următor

Cele Mai Importante Sfaturi