Я хочу сделать простой (я думаю!) Do-цикл для следующего: Моя простая программа работает так, как я хочу, но я думаю, что есть более простой способ, поскольку я хочу повторить ее 1000 раз. Возможно, используя какой-то цикл? Do-цикл или что-то еще. Короче говоря, я хочу:
- скопировать содержимое из А1
- Вставьте их в B1
- копировать ячейку C1 (в ней есть простая формула, которая действует на B1)
- скопировать «значение» (только) из 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