我有一个消息框,用于插入用户选择的单元格范围。 我希望该单元格成为新的活动单元格。 这样做的VBA代码是什么?
这是我拥有的VBA,但它不会更改活动单元格。
Sub AddClient()
'Message Box
Dim userResponce As Range
On Error Resume Next
Set userResponce = Application.InputBox("Place curser on Client Name that you want to insert new one above")
On Error GoTo 0
If userResponce Is Nothing Then
MsgBox "Cancel clicked"
Else
MsgBox "You selected " & userResponce.Address
End If
End Sub
答案 0 :(得分:4)
如果要激活单元格,则可以使用Application.Goto
。而且,如果您只想插入行,则无需像@BigBen所述那样使单元格处于活动状态。您可以直接插入行,而无需激活单元格或行。
例如
userResponce.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
也将Application.InputBox
与Type:=8
一起使用,如Application.InputBox method
如果要激活该单元格,请使用以下内容。
Sub AddClient()
Dim userResponce As Range
Dim prmt As String
prmt = "Place cursor on Client Name that you want to insert new one above"
On Error Resume Next
Set userResponce = Application.InputBox(prompt:=prmt, Type:=8)
On Error GoTo 0
If userResponce Is Nothing Then
MsgBox "Cancel clicked"
Else
Application.Goto Reference:=userResponce
End If
End Sub