2012-05-03 1 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