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.