Excel: una macro per inserire immagini in un foglio di lavoro
- Problema
- Soluzione
Problema
Sto cercando di inserire immagini nella colonna di Excel utilizzando la macro che prende il nome del file refrence dalla cella B2 e inserisce l'immagine nella cella A2. Ad esempio: se B2 contiene N235, l'immagine che verrà inserita in A2 sarà N235.jpg dal percorso specificato in Macro. Funziona correttamente ECCETTO quando non ci sono immagini nella cartella con lo stesso nome della cartella.- Ricevo un errore di runtime 1004 e la macro si interrompe e non è possibile riempire l'immagine dopo quella cella.
Soluzione
Immagine secondaria ()Dim picname As String
Dim pastaAt As Integer
Dim lThisRow As Long
lThisRow = 2
Do While (Cells (lThisRow, 2) "")
pasteAt = lThisRow
Celle (pasteAt, 1). Seleziona 'Qui è dove verrà inserita l'immagine
picname = Cells (lThisRow, 2) 'Questo è il nome dell'immagine
present = Dir ("C: \ Users \ Administrator \ Desktop \ LC \" & picname & ".jpg")
Se presente "" Allora
ActiveSheet.Pictures.Insert ("C: \ Users \ Administrator \ Desktop \ LC \" & picname & ".jpg"). Seleziona "Percorso in cui sono archiviate le immagini
'' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '''
'Questo ridimensiona l'immagine
'' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '''
Con la selezione
'.Left = Range ("A6"). Sinistra
'.Top = Range ("A6"). Superiore
.Left = Cells (pasteAt, 1) .Left
.Top = Cells (pasteAt, 1) .Top
.ShapeRange.LockAspectRatio = msoFalse
.ShapeRange.Height = 100 #
.ShapeRange.Width = 130 #
.ShapeRange.Rotation = 0 #
Fine con
Altro
Cells (pasteAt, 1) = "Nessuna immagine trovata"
Finisci se
lThisRow = lThisRow + 1
Ciclo continuo
Range ( "A10"). Selezionare
Application.ScreenUpdating = True
Esci sott
ErrNoPhoto:
MsgBox "Impossibile trovare foto" 'Mostra la finestra di messaggio se l'immagine non viene trovata
Esci sott
Range ( "B20"). Selezionare
End Sub
Grazie a rizvisa1 per questo suggerimento.