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)
4

1 に答える 1

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
于 2012-05-03T20:50:30.440 に答える