Heylo,我很好奇在Excel VBA中使用SendKeys方法的替代方法 . 目前,我将它用于用户友好性,使用InputBox选择多个单元格用于计算 . 我想避免用户在单击每个单元格时按住CTRL或按Shift-F8选择多个单元格 . 我希望InputBox只是弹出,它们能够选择不一定是彼此相邻的单元而不必做任何其他事情 . 这是我的样本 .
Sub CalculateIt()
Dim calcRange As Range
On Error Resume Next
SendKeys "+{F8}"
Set calcRange = Application.InputBox("Select the cells you would like to use.", Type:=8)
If Err.Number = 424 Then Exit Sub
Dim stuff As Double
For Each calcCell in calcRange
If IsNumeric(calcCell.Value) Then stuff = stuff + calcCell.Value
Next calcCell
MsgBox "The Solution: " & Sqr(stuff)
End Sub
我想避免使用SendKeys方法,因为我已经阅读了很多关于它的挑剔和脆弱,并且它可能导致问题 . 我已经遇到过某些情况,它无论出于何种原因都无法工作,我必须按住CTRL或Shift-F8 . 它没有做很多,但我不想对可靠性有任何疑问 .
预先感谢您的任何帮助!