2012-05-03 3 views
2

Я хотел бы предложить пользователю выбрать ячейку в листе для заполнения значения. Я пытаюсь использовать Application.Input, но он не захватывает имя листа, в котором была выбрана ячейка .... он продолжает использовать имя листа, которое было активным при запуске макроса.Необходимо присвоить выбранное имя листа переменной переменной

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

varCellContent = Application.InputBox(prompt:="Choose a sheet by clicking on any cell in it.", Type:=8) 
strDestinationSheetName = ActiveSheet.Name 
MsgBox ("Sheet = " & strDestinationSheetName) 

ответ

1

Это то, что вы пытаетесь?

Option Explicit 

Sub Sample() 
    Dim varCellContent As Range 
    Dim strDestinationSheetName As String 

    On Error Resume Next 
    Set varCellContent = Application.InputBox(Prompt:="Choose a sheet by clicking on any cell in it.", Type:=8) 
    On Error GoTo 0 

    If Not varCellContent Is Nothing Then 
     strDestinationSheetName = varCellContent.Parent.Name 

     MsgBox ("Sheet = " & strDestinationSheetName) 
    End If 
End Sub 
Смежные вопросы