【发布时间】:2015-06-17 18:38:24
【问题描述】:
我在工作表提取中有一些结果数据,我需要逐个单元格激活并按 Enter。 10 个单元格没问题,但我有超过 40 000 个。所以我写了一些宏
Sub Refresh()
Dim lastrow As Long
lastrow = ActiveWorkbook.Worksheets("Extract").Range("Q" & rows.Count).End(xlUp).Row
For j = 2 To lastrow
Sheets("Extract").Activate
Sheets("Extract").Range("Q" & j).Select
Application.SendKeys "{F2}"
Application.SendKeys "{ENTER}"
DoEvents
Next j
End Sub
而且它不起作用。我遇到 1004 错误应用程序定义或对象定义错误。
我做错了什么?
感谢您的帮助
编辑: 解决方案很简单。我没有激活工作表提取。 我在代码中添加了新行,一切正常。
感谢您的所有帮助。
【问题讨论】:
-
您在哪一行收到错误消息?
-
您想要(或必须)保持相同的程序吗?我们可以完全删除输入并让它循环通过您的事件吗?为什么必须按 Enter 才能使事件生效?
-
我在这里读到的:mrexcel.com/forum/excel-questions/… 是 application.sendkeys 可以通过在一个接一个地使用时增加一点延迟来帮助。也许你可以试一试?没有上下文就很难提供更多帮助!
-
如果到选定的单元格将被发送 F2 并移动到 Q 列中的下一个单元格就足够了