Excel VBA,简单"For Each"宏移动范围



我正在尝试运行一个非常简单的代码来模拟范围内每个单元格上的 F2+Enter。

我知道,我

应该使用其他东西,但就我而言,其他方法都不起作用!

我放入代码中的任何范围,范围末尾的宏层,并执行范围中包含的单元格数量!!

我尝试过简单的范围或动态范围,同样的事情。

使用下面的代码,它将从 AC100 开始,在 AC200 停止。

Dim Rng As Variant, Cell As Range
Set Rng = Range("AC1:AC100")
For Each Cell In Rng.Cells
    Cell.Select
    SendKeys "{F2}", True
    SendKeys "{ENTER}", True
Next Cell

很确定这是我弄雾的小细节,但我看不到什么。

谢谢!

试一试:

Sub qwerty()
    Dim Rng As Variant, Cell As Range
    Set Rng = Range("AC1:AC100")
    For Each Cell In Rng.Cells
        Cell.Select
        Application.SendKeys "{F2}"
        Application.SendKeys "{ENTER}"
        DoEvents
    Next Cell
End Sub

注意:

我们指定Application以防止SendKeys进入 VBE
DoEvents防止他SendKeys"堆积">

最新更新