Я очень новичок в программе VBA, я не уверен, как выполнить мое требование
Здесь мое требование
В моем листе Excel есть 3 столбца. Имена столбцов (S.no, S, E) .
Я хочу вставить изображения в столбцы S и E на основе соответствующих S.no и имени изображения , все мои изображения находятся в другой папке.
пример формата ввода
S.no S E
1
2
99
Имена изображений в папке
c:\iamges\E_001.jpg
c:\images\E_002.jpg
c:\images\S_002.jpg
c:\images\E_099.jpg
Обязательный формат вывода в ячейках
S.no S E
1 E_001.jpg
2 S_002.jpg E_002.jpg
99 E_099.jpg
Здесь S.no 1 соответствует изображению E_001.jpg
S.no 2 соответствует изображениям S_002.jpg и E_002.jpg в папке
Аналогичным образом сопоставляет все изображения и заполняет их ячейками.
Я пытаюсь следующий код
strFolder = "C:\\images" 'change the path accordingly
If Right(strFolder, 1) <> "\" Then
strFolder = strFolder & "\"
End If
Set rngCell = Range("c5") 'starting cell
strFileName = Dir(strFolder & "E*.jpg", vbNormal) 'filter for .jpg files
Do While Len(strFileName) > 0
Set objPic = ActiveSheet.Pictures.Insert(strFolder & strFileName)
With objPic
.ShapeRange.LockAspectRatio = False
.Left = rngCell.Left
.Top = rngCell.Top
.Height = rngCell.Height
.Width = rngCell.Width
.Placement = xlMoveAndSize
End With
Set rngCell = rngCell.Offset(1, 0)
strFileName = Dir
Loop
Приведенный выше код заполняет все изображения в ячейку без совпадения имени файла и S.no