Как сослаться на ячейку, используя поле ввода? - PullRequest
3 голосов
/ 30 сентября 2019

У меня есть окно сообщения для вставки выбранного пользователем диапазона ячеек. Я хочу, чтобы эта ячейка была новой активной ячейкой. Для чего нужен код 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 Ответ

4 голосов
/ 30 сентября 2019

Если вы хотите сделать ячейку активной, вы можете использовать Application.Goto. И если вы просто хотите вставить строку, вам не нужно активировать ячейку, как упомянуто @BigBen. Вы можете напрямую вставить строку, не активируя ячейку или строку.

Например

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

Также используйте Application.InputBox с Type:=8, как показано в Application.InputBox метод

Если вы хотите активировать ячейку, воспользуйтесь приведенным ниже.

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...