Я хочу синхронизировать c мой список адресов с номером, указанным в ячейке на лицевой стороне листа. Ситуация выглядит следующим образом:
В ячейке D41 у меня есть количество квартир. Теперь, когда я открываю лист «Список адресов», я хочу, чтобы первая строка была мгновенно скопирована 40 раз вниз (отмечена красным). Я знаю, что его можно описать как al oop, поэтому я попробовал этот код:
- Первоисточник здесь:
Перемещение нескольких изображения с изменением идентификатора
Private Sub AddressList()
Dim i As Long
Dim rg As Range, rg2 As Range
Dim ws1 As Worksheet, ws2 As Worksheet
Set ws1 = ThisWorkbook.Sheets("Frontsheet")
Set ws2 = ThisWorkbook.Sheets("Address list")
Set rg = ws1.Range("D15").Value
For i = 1 To rg
Set rg2 = ws2.Range("B2:R2")
With rg2.Offset(i - 1, 0)
.Top = .Top
.Left = .Left
End With
Next I
End Sub
Здесь я получаю ошибку 424: Требуется объект
Другой код , который я пробовал это:
Sub AddressList()
Dim i As Long
Dim LastrowE As Long
Dim rng As Range
Dim rg As Range, rg2 As Range
Dim ws1 As Worksheet, ws2 As Worksheet
Set ws1 = ThisWorkbook.Sheets("Frontsheet")
Set ws2 = ThisWorkbook.Sheets("Fibre drop release sheet")
Set rg = ws1.Range("D32")
Set rg2 = ws2.Range("A2:k2")
For i = 1 To rg
With rg2.offset(i - 1, 0)
rg2.Copy _
Destination:=ws2.Range("A3")
End With
Next I
End Sub
работает, но строка копируется только один раз. Я хочу, чтобы он был скопирован 41 раз, как указано в ячейке Frontshet.D15. Как это сделать?