2

我正在尝试从同一范围 (G8:G1000) 复制值,然后将这些值粘贴到下一列 (H8:H1000)。但是,然后我想再次复制相同的范围 (G8:G1000),然后将值粘贴到 I8:I1000 中,并至少执行 100 次。本质上,G 列中有一个公式正在生成随机值,我想将这些唯一值复制到 G 列之后的所有列中。我相信我需要某种 For Next 循环,它会在其中不断选择值从 G 列,然后将它们粘贴到先前粘贴到列中的下一列,但是我对 VBA 的了解很少。有没有人对此有潜在的解决方案?任何帮助表示赞赏。

谢谢。

4

1 回答 1

1

生成列

Option Explicit

Sub generateColumns()
    
    Const rgAddress As String = "G8:G1000"
    Const cCount As Long = 100
    
    Dim rg As Range: Set rg = Range(rgAddress)
    'rg.Formula = "=RANDBETWEEN(1,100)"
    
    Application.ScreenUpdating = False
    
    Dim c As Long
    For c = 1 To cCount
        rg.Offset(, c).Value = rg.Value
    Next c

    Application.ScreenUpdating = True

End Sub
于 2021-03-04T06:09:01.747 回答