私はExcelでVBAプロジェクトで作業しており、マクロの一部にユーザーにセルの範囲を選択するように指示して、*後でマクロで処理できるようにします。
*グラフの作成時、またはGUIを使用して関数を挿入するときに表示されるプロンプトのタイプ
例えばここに:
そしてここ:
私はそのために何かを探しています
_Sub MyMacro()
MsgBox "Please select data range"
' allow user to select range (as images above)
CreateFunctionArgumentsPrompt()
'do stuff with user selected range of cells
...
End Sub
_
組み込みのExcel機能にアクセスして、私が言及していることを実行することは可能ですか?CreateFunctionArgumentsPrompt()
注:これはSO質問 Excel vbaはマウスでユーザーが選択した範囲の範囲を取得 と似ていますが、
これは、上で示したビルトインを使用していませんが、収入プロンプトに続くセルの範囲を選択できます。
Sub RangeSelectionPrompt()
Dim rng As Range
Set rng = Application.InputBox("Select a range", "Obtain Range Object", Type:=8)
MsgBox "The cells selected were " & rng.Address
End Sub
これは、 このMrExcelの答え で与えられた答えに基づいています。
使用方法は次のとおりです。
探しているのは、ダイアログボックス(コモンダイアログとも呼ばれます)です。残念ながら、 既存の組み込みオブジェクトに追加することはできません (少なくともVBAは使用していません)。
上記のように、InputBoxとFormsを使用してこの機能を模倣できます。それは、会社があなたが説明するタイプの機能を追加したExcelに基づいたプロプライエタリなプログラムを見たことがあるということです。ただし、これを実現できるDLLを作成するには、C++またはより深い言語を使用する必要があると思います
ダイアログについて注意する価値のあること:Excelには組み込みの Common File Dialog object library があり、既存のWindows APIダイアログを使用して一般的なファイルサーバーダイアログボックス(開く、保存、選択など)を作成できます。