我已经记录并调整了一个代码,该代码选择一个单元格(F2),然后输入该单元格中已经存在的信息。
Sub testing()
'
' testing Macro
'
' Keyboard Shortcut: Ctrl+Shift+T
'
ActiveCell.Select
Application.SendKeys "{F2}"
Application.SendKeys "{ENTER}"
ActiveCell.Offset(1, 0).Range("A1").Select
End Sub
之所以需要这样做,是因为我有一个公式摘要,该公式使用索引匹配在数据中查找信息,并将其粘贴到我们帐户系统的导出中。如果没有完成可能要成千上万个单元格的任务,那么该公式将无法识别该数字。
我试图让它在我激活宏时从选定的任何单元格开始循环,并在到达空单元格时结束。每次我都希望它在不同的工作表上工作,所以每次都不会从同一单元格开始。
我发现每次都从特定单元格开始然后停止的代码,但是当我将其调整为从活动单元格开始时,它将崩溃。备用代码不会在数据的底部停止,直到Excel崩溃为止。
答案 0 :(得分:0)
尝试保存活动单元格行,并使用.end函数进行支持,例如:
dim ac as long, col as long, ec as long, i as long
ac = activecell.row
col = activecell.column
ec = cells(ac,col).end(xldown).row
for i = ac to ec
'do something with cells(i,col)
next i
答案 1 :(得分:0)
尝试一下:
Sub refresher()
While ActiveCell.Value <> ""
Application.SendKeys "{F2}"
Application.SendKeys "{ENTER}"
DoEvents
ActiveCell.Offset(1, 0).Select
Wend
End Sub
它将前进到一列,刷新每个单元格,直到找到空白为止。