Excel VBA,简单的“ For Each”宏可移动范围

时间:2019-03-27 20:57:22

标签: excel vba foreach

我正在尝试运行一个非常简单的代码来模拟范围内每个单元格上的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

可以肯定的是,我已经迷失了一点细节,但是我看不到。

谢谢!

1 个答案:

答案 0 :(得分:1)

尝试一下:

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进行“上”