Я сделал несколько попыток выбрать фигуру (изображение) на листе по ее имени.
У меня есть имена изображений в виде штрих-кодов, я попытался преобразовать имя формы в двойное, затем добавил изображение к каждому имени формы и преобразовал значение ячейки в строку.
Я попробовал функцию StrComp
с параметрами vbText
и vbBinary
.
Я также пытался проверить типы Shape.Name и Cells.Value. Их 8 (струнные) и 5 (двойные). Когда я присваиваю номер переменной a (тип 3 - LongInt) # добавляется, когда макрос запускается, а затем выбираю Shape.Name(cStr(a)) он работает(
For i = 2 To 224
Sheets("Pilot products").Activate
a = CStr(ActiveSheet.Cells(i, 9).Value)
'a = CLng(a)
'MsgBox (VarType(a))
'Sheets("images").Activate
For Each sh In ActiveSheet.Shapes
If CStr(sh.Name) = CStr("Picture " + a) Then
sh("Picture " + a).Select
Selection.Copy
Sheets("Pilot products").Cells(i, 10).Select
ActiveSheet.Paste
Else: MsgBox CStr(a)
End If
Next sh
Next i
&
. - person JMP   schedule 22.11.2020