如何使用输入框引用单元格?

时间:2019-09-30 13:46:32

标签: excel vba

我有一个消息框,用于插入用户选择的单元格范围。 我希望该单元格成为新的活动单元格。 这样做的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

1 个答案:

答案 0 :(得分:4)

如果要激活单元格,则可以使用Application.Goto。而且,如果您只想插入行,则无需像@BigBen所述那样使单元格处于活动状态。您可以直接插入行,而无需激活单元格或行。

例如

userResponce.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

也将Application.InputBoxType:=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