Excel: простой цикл Do для копирования, вставки и создания таблицы

Excel: простой цикл Do для копирования, вставки и создания таблицы

Я хочу сделать простой (я думаю!) Do-цикл для следующего: Моя простая программа работает так, как я хочу, но я думаю, что есть более простой способ, поскольку я хочу повторить ее 1000 раз. Возможно, используя какой-то цикл? Do-цикл или что-то еще. Короче говоря, я хочу:

  1. скопировать содержимое из А1
  2. Вставьте их в B1
  3. копировать ячейку C1 (в ней есть простая формула, которая действует на B1)
  4. скопировать «значение» (только) из C1 в D1 (который будет таблицей таких значений)

Я хочу сделать это для ячеек A1 по A1000 и получить таблицу значений D1, D2, ..., D1000 (возможно, в виде квадратной таблицы). Ячейки B1 и C1 остаются фиксированными.

Моя программа ниже:

Sub PasteSpecial_Examples()

    Range("A1").Copy Range("B1")
    Range("C1").Copy
    Range("D1").PasteSpecial Paste:=xlPasteValues

    Range("A2").Copy Range("B1")
    Range("C1").Copy
    Range("D2").PasteSpecial Paste:=xlPasteValues

    Range("A3").Copy Range("B1")
    Range("C1").Copy
    Range("D3").PasteSpecial Paste:=xlPasteValues

    Range("A4").Copy Range("B1")
    Range("C1").Copy
    Range("D4").PasteSpecial Paste:=xlPasteValues


    Application.CutCopyMode = False

End Sub

решение1

Вам нужен простой цикл For...Next:

Sub PasteSpecial_Examples()

  For i = 1 To 1000
    Range("A" & i).Copy Range("B1")
    Range("C1").Copy
    Range("D" & i).PasteSpecial Paste:=xlPasteValues
  Next i

  Application.CutCopyMode = False

End Sub

Связанный контент