インプットボックスのそれぞれの使い方
InputBox関数
InputBox関数は、ユーザーに値の入力を求めるための基本的なインプットボックスです。以下は、InputBox関数の使い方の例です。
Dim inputValue As String
inputValue = InputBox("Please enter a value")
Application.InputBoxメソッド
Application.InputBoxメソッドは、InputBox関数に加えて、入力された値の型や範囲などを指定できるため、より高度な入力処理を実現できます。以下は、Application.InputBoxメソッドの使い方の例です。
Dim inputRange As Range
Set inputRange = Application.InputBox("Please select a range", "Range Selection", Type:=8)
上記の例では、”Please select a range”というメッセージが表示され、ユーザーが選択したセル範囲がinputRange変数に格納されます。Type:=8は、選択範囲をセル範囲として指定するためのオプションです。
UserForm
UserFormは、VBAのフォーム機能を利用した、より高度なインプットボックスです。ユーザーに対してより複雑な情報を要求する場合に使用されます。以下は、UserFormの使い方の例です。
- UserFormを作成する。
- ユーザーからの入力を求めるコントロール(テキストボックス、コンボボックス、ラジオボタンなど)を配置する。
- ユーザーからの入力を受け取るためのOKボタンを配置する。
- ユーザーからの入力をキャンセルするためのCancelボタンを配置する。
- UserFormを表示するためのVBAコードを作成する。
以上のように、UserFormを作成して、ユーザーからの入力を求めるコントロールを配置し、OKボタンやCancelボタンを配置して、ユーザーからの入力を受け取るVBAコードを作成することで、高度な入力処理を実現できます。
インプットボックスで選択したセルを含む表全体を選択
InputBoxを使ってセル範囲をユーザーに選択させ、選択された範囲の表を選択するためのサンプルコードです。
Sub インプットボックス_表の選択()
Dim rng As Range
On Error Resume Next
Set rng = Application.InputBox(prompt:="セルを選択", Type:=8)
On Error GoTo 0
If rng Is Nothing Then Exit Sub
rng.CurrentRegion.Select
MsgBox rng.Address(False, False) & "を含む表を選択"
End Sub
まず、変数rngを宣言しています。この変数は、選択されたセル範囲を格納するために使用されます。また、エラー処理のためにOn Error Resume NextとOn Error GoTo 0の2つのステートメントを使用しています。
次に、Application.InputBoxメソッドを使用して、ユーザーにセル範囲を選択するよう促します。Type:=8は、セル範囲を選択することを指定するためのオプションです。
次に、Ifステートメントを使用して、ユーザーがキャンセルボタンをクリックした場合の処理を行います。rngがNothingの場合は、Subを終了します。rngがNothingでない場合は、選択された表を選択し、選択した表のアドレスをメッセージボックスで表示します。
最後に、End Subステートメントでサブルーチンを終了します。
このVBAコードは、セル範囲の選択と表の選択に関する基本的なVBAコードです。これを応用することで、より複雑な処理を実現することができます。
備考)表の選択:rng.CurrentRegion.Select
インプットボックスで左上のセルから最終セルの範囲を選択する
このVBAコードは、InputBoxを使ってセル範囲をユーザーに選択させ、選択された範囲の表を選択するためのサンプルコードです。
Sub インプットボックスで左上のセルから最終セルの範囲を選択する()
Dim rng As Range
On Error Resume Next
Set rng = Application.InputBox(prompt:="表の左上のセルを選択", Type:=8)
On Error GoTo 0
If rng Is Nothing Then Exit Sub
Dim LastCell As Range
Set LastCell = Cells(Rows.Count, 2).End(xlUp).End(xlToRight)
Range(rng, LastCell).Select
MsgBox rng.Address(False, False) & "を含む表を選択"
End Sub
まず、変数rngを宣言しています。この変数は、選択されたセル範囲を格納するために使用されます。また、エラー処理のためにOn Error Resume NextとOn Error GoTo 0の2つのステートメントを使用しています。
次に、Application.InputBoxメソッドを使用して、ユーザーにセル範囲を選択するよう促します。Type:=8は、セル範囲を選択することを指定するためのオプションです。
次に、Ifステートメントを使用して、ユーザーがキャンセルボタンをクリックした場合の処理を行います。rngがNothingの場合は、Subを終了します。rngがNothingでない場合は、選択された表を選択し、選択した表のアドレスをメッセージボックスで表示します。
最後に、End Subステートメントでサブルーチンを終了します。
インプットボックスで指定する行を含むセルを選択する
このVBAコードは、InputBoxを使用してユーザーに行を指定してもらい、その行を含むセルを選択するためのサンプルコードです。
Sub インプットボックスで指定する行を含むセルを選択する()
Dim rng As Range
On Error Resume Next
Set rng = Application.InputBox(prompt:="指定する行を含むセルを選択", Type:=8)
On Error GoTo 0
If rng Is Nothing Then Exit Sub
rng.EntireRow.Select
MsgBox rng.Address(False, False) & "を含む行を選択"
End Sub
最初に、変数rngを宣言します。この変数は、選択されたセル範囲を格納するために使用されます。また、エラー処理のためにOn Error Resume NextとOn Error GoTo 0の2つのステートメントを使用しています。
次に、Application.InputBoxメソッドを使用して、ユーザーに行を含むセルを選択するよう促します。Type:=8は、セル範囲を選択することを指定するためのオプションです。
次に、Ifステートメントを使用して、ユーザーがキャンセルボタンをクリックした場合の処理を行います。rngがNothingの場合は、Subを終了します。rngがNothingでない場合は、選択された行を含むセルを選択し、選択した行のアドレスをメッセージボックスで表示します。
最後に、End Subステートメントでサブルーチンを終了します。
このVBAコードは、行の選択に関する基本的なVBAコードです。これを応用することで、より複雑な処理を実現することができます。
インプットボックスで指定する列を含むセルを選択する
Sub インプットボックスで指定する列を含むセルを選択する()
Dim rng As Range
On Error Resume Next
Set rng = Application.InputBox(prompt:="セルを選択", Type:=8)
On Error GoTo 0
If rng Is Nothing Then Exit Sub
rng.EntireColumn.Select
MsgBox rng.Address(False, False) & "を含む列を選択"
End Sub
インプットボックスで指定する列を含むセルを選択する(パート2)
このVBAコードは、InputBoxを使用してユーザーに列を指定してもらい、その列を含むセルを選択するためのサンプルコードです。
Sub インプットボックスで指定する列を含むセルを選択する2()
Dim rng As Range
On Error Resume Next
Set rng = Application.InputBox( _
prompt:="処理する列を含む「セル」を一箇所 選択してください", _
title:="セル選択ダイアログ", _
Type:=8)
rng.EntireColumn.Select
End Sub
最初に、変数rngを宣言します。この変数は、選択されたセル範囲を格納するために使用されます。また、エラー処理のためにOn Error Resume Nextステートメントを使用しています。
次に、Application.InputBoxメソッドを使用して、ユーザーに列を含むセルを選択するよう促します。Type:=8は、セル範囲を選択することを指定するためのオプションです。また、titleオプションを使用して、選択ダイアログボックスのタイトルを指定することもできます。
次に、rng.EntireColumn.Selectステートメントを使用して、選択された列を含むセルを選択します。このステートメントを使用することで、選択された列の全体が選択されます。
最後に、End Subステートメントでサブルーチンを終了します。
このVBAコードは、列の選択に関する基本的なVBAコードです。これを応用することで、より複雑な処理を実現することができます。
コメント