【发布时间】:2015-04-16 08:24:41
【问题描述】:
我正在尝试在 excel 中创建一个循环,但我被卡住了。
我的循环的目的是 - 遍历一系列值,例如 A1:A8760 并将其插入到单元格中,例如 B10 - 对于每个值范围,我想保存输出并将其复制到新列中,例如 C。
我尝试录制一个宏并从中创建一个循环。但它只是出错了,
gg = 1
Dim myRange As Range
Dim i As Long, j As Long
Set myRange = Range("AJ4:AJ8763")
For i = 1 To myRange.Rows.Count
For j = 1 To myRange.Columns.Count
myRange.Cells(i, j).Select
Selection.Copy
Range("D10").Select
ActiveSheet.Paste
Range("O7").Select
Application.CutCopyMode = False
Selection.Copy
myRange.Cells(i, j + gg).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Next j
Next i
End Sub
上面的代码示例是我到目前为止添加的。所以我的想法是我遍历从 AJ4 到 AJ8763 的一系列值并将其插入到单元格 D10 中, 下一步是复制单元格 O7 的输出并将其插入单元格 AK4 到 AK8763。
添加修正版
【问题讨论】:
-
请补充一下你目前尝试过的,有什么问题。
-
亲爱的 Arnon,我刚刚在原始帖子中添加了我的代码示例。
-
重新计算 O 列中的新值的公式是什么?这可能会更好地完全在内存中完成。
-
“AK4 到 AJ8763” - 我假设你的意思是 AK4 到 AK8763?
-
@Jeeped 是对的。或者,如果您放弃循环,然后将公式一次正确地转换为值,则更好。