Я скрывался некоторое время, но только что подписался, чтобы задать этот вопрос.Я очень новичок в кодировании, поэтому, пожалуйста, прости любые глупые ошибки.
Я пытаюсь выбрать изображения, которые находятся в случайных ячейках в столбце «K», и поместить их в строку 1, начиная с столбца «K».Я могу скопировать каждую картинку с помощью приведенного ниже кода.
Проблема начинается, когда я пытаюсь найти первую ячейку, начинающуюся со строки «K», которая не имеет формы.Я перебираю все картинки .TopLeftCell.Address
и сравниваю их с текущими ячейками .Address
для копирования.
Проблема в том, что я не могу понять, как начать другой цикл, чтобы проверить, работают ли ячейкине имеют формы в них, так как я уже использую цикл For Each picS In ActiveSheet.Shapes
и не могу повторить его внутри собственного цикла.
Любая помощь приветствуется
Sub findPics()
Dim picRng As Range
Dim picS As Shape
Dim picAdd As Range
Dim lRow As Long
For lRow = 2 To 30
For Each picS In ActiveSheet.Shapes
Set picAdd = Range(picS.TopLeftCell.Address)
If ActiveSheet.Range("K" & lRow).Address = picAdd.Address Then
Debug.Print "Picture " & picS.ID; " in cell" & ActiveSheet.Range("K" & lRow).Address
Range(picAdd.Address).CopyPicture
'Need to find first cell of row 1 without image in it starting at column "K"
Else
Debug.Print "Picture " & picS.ID; " isn't in" & ActiveSheet.Range("K" & lRow).Address
End If
Next picS
Next lRow
End Sub