●詳細●
テキストボックスで指定された値に対応するデータを、セル範囲内から取り出します。
サンプルでは、対応データのセル範囲に名前を付けて、左端の列で特定の値を検索し、
範囲内の対応するセルの値を取得しています。
テキストボックス1で1〜4(1月〜4月)を指定すると、テキストボックス2に陰
暦、テキストボックス3に祝日、テキストボックス4に陰暦と祝日が組み合わされて
表示されます。
対応データは以下のとおりです。
A列 B列 C列
1 睦月 成人の日
2 如月 建国記念の日
3 弥生 春分の日
4 卯月 みどりの日
*”A1:C4”に、”data”という名前を付けて対応データとしています。
*サンプルマクロには、ユーザーフォームにテキストボックスを4個(TextBox1・TextBox2
・TextBox3・TextBox4)が必要です。
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim x As Integer
'<テキストボックスの値を取得します。>
x = TextBox1.Value
With ActiveSheet
'<テキストボックス2にB列の陰暦が表示されます。>
TextBox2.Value = Application.WorksheetFunction .VLookup(x, Range("data"), 2) ←(1)
'<テキストボックス3にC列の祝日が表示されます。>
TextBox3.Value = Application.WorksheetFunction .VLookup(x, Range("data"), 3)
'<テキストボックス4に陰暦と祝日が表示されます。>
TextBox4.Value = Application.WorksheetFunction .VLookup(x, Range("data"), 2) & "・" & _
Application.WorksheetFunction .VLookup(x, Range("data"), 3)
End With
End Sub
(1)VLookup関数の書式は、”VLookup(検索値,範囲, 列番号, 検索の型)” です。
”検索の型”は、検索値と完全に一致する値だけか、近似値を含めて検索す
るかを指定します。
TRUEを指定するか省略すると、検索値が見つからない場合に、検索値未満で
最も大きい値が使用されます。
FALSEを指定すると、検索値と完全に一致する値だけが検索されます。
見つからない場合は、エラー値が返されます。
|