#excel #vba #for-loop
Вопрос:
Как я могу поместить этот код в цикл? Например, запустите cylce в ячейке A3, завершите цикл в ячейке A100.
Sub CenterImages()
With ActiveSheet.Shapes("Picture 1")
.Top = Range("A1").Top (Range("A1").Height - .Height) / 2
.Left = Range("A1").Left (Range("A1").Width - .Width) / 2
End With
End Sub
Ответ №1:
Сделай что-нибудь в этом роде:
Option Explicit
Public Sub CenterImages()
Dim i As Long
For i = 3 To 100
CenterImage i
Next i
End Sub
Public Sub CenterImage(ByVal Index As Long)
With ActiveSheet.Shapes("Picture " amp; Index)
.Top = Range("A" amp; Index).Top (Range("A" amp; Index).Height - .Height) / 2
.Left = Range("A" amp; Index).Left (Range("A" amp; Index).Width - .Width) / 2
End With
End Sub
Сделайте свой код универсальным, используя Index
затем вызовите процедуру в цикле от 3 до 100, указав этот индекс.