0

我目前的代码有问题,我找不到合适的解决方案。此代码的输入是 8760 个注册表,其中的值来自其中。例如,在 B 列中有 8760 个值对应于一年中的小时数,在它前面我有每个小时的值。因为我想在每 15 分钟内获得该值,所以我需要将该值除以 4 并将其粘贴。所以我在 B 列中有小时数,在 C 列中有值,我想在 D 列中有值除以 4,所以我将有 8760*4 个注册表。

Option Explicit
Sub test()

Dim i, j As Long
Dim valor As Long


For j = 0 To 8759
    For i = 1 To 4
       valor = Range("C" & 3 + j).Value
       Range("B" & 3 + j).Select
       Selection.Copy
       Range("H" & 3 + i + j * 4).Select
       ActiveSheet.Paste
       Range("I" & 3 + i + j * 4) = valor / 4
   Next
Next

End Sub

一段时间后它使我的程序崩溃。它运行正常,直到崩溃。

4

1 回答 1

1

正如 KazJaw 所说...尝试:

Range("B" & 3 + j).Copy Destination:= Range("H" & 3 + i + j * 4)
于 2013-06-25T15:02:44.760 回答