2010年07月04日
VBAでセル形式をリスト(ドロップダウン型)にする。
下記は、セル形式をリスト(ドロップダウン型)にするVBAサンプルです。
※エクセルメニューより行う時は、ツールバー「データ」→「入力規則」より設定可能です。
******************************
Sub setListStyle()
Dim intエラー形式 As Integer
Dim strリスト表示値 As String
'エラーメセージの形式設定(Add Type AlertStyleプロパティ)
'xlValidAlertStop (停止)
'xlValidAlertWarning (警告)
'xlValidAlertInformation (情報)
intエラー形式 = xlValidAlertStop
'リスト表示値設定(Add Type Formula1プロパティ)
strリスト表示値 = "1,2,3,4"
'Formula1:="1,2,3,4" 固定値をカンマ区切りで記入
'Formula1:="=$B:$B" 列範囲
'Formula1:="=$B$4:$B$8" セル範囲を指定
'ドロップダウン形式で、セル値を選択できるようにする。
With Selection.Validation
.Delete '初期化
.Add Type:=xlValidateList, _
AlertStyle:=intエラー形式, _
Operator:=xlBetween, _
Formula1:=strリスト表示値 'ドロップダウン形式に変更
.IgnoreBlank = True '入力値の空白を無視
.InCellDropdown = True 'ドロップダウン形式表示
.InputTitle = "入力値を選んでください。" '入力セル表示タイトル
.InputMessage = "リストより選択" '入力セル表示メッセージ本文
.ErrorTitle = "入力値が不正" 'エラーメッセージタイトル
.ErrorMessage = "エラー" 'エラーメッセージ本文
.IMEMode = xlIMEModeNoControl 'IME入力モード設定
.ShowInput = True '入力セル表示メッセージ有無
.ShowError = True 'エラーメッセージの表示有無
End With
End Sub
******************************
[使い方]
1.上記の *** で囲まれた内容をコピペし、エクセルマクロ(クラスorモジュール)へ
貼り付けます。
2.マクロ又は、Visual Basic Editer で実行を行ってください。
3.選択しているセルがリスト形式となり 1~4のみ入力することが出来るようになります。
※プロパティを変更することで、形式を変更できます。
※プロパティは省略可能です。
エラーメッセージを表示しないとした時→エラーメッセージ関連を省略。

※エクセルメニューより行う時は、ツールバー「データ」→「入力規則」より設定可能です。
******************************
Sub setListStyle()
Dim intエラー形式 As Integer
Dim strリスト表示値 As String
'エラーメセージの形式設定(Add Type AlertStyleプロパティ)
'xlValidAlertStop (停止)
'xlValidAlertWarning (警告)
'xlValidAlertInformation (情報)
intエラー形式 = xlValidAlertStop
'リスト表示値設定(Add Type Formula1プロパティ)
strリスト表示値 = "1,2,3,4"
'Formula1:="1,2,3,4" 固定値をカンマ区切りで記入
'Formula1:="=$B:$B" 列範囲
'Formula1:="=$B$4:$B$8" セル範囲を指定
'ドロップダウン形式で、セル値を選択できるようにする。
With Selection.Validation
.Delete '初期化
.Add Type:=xlValidateList, _
AlertStyle:=intエラー形式, _
Operator:=xlBetween, _
Formula1:=strリスト表示値 'ドロップダウン形式に変更
.IgnoreBlank = True '入力値の空白を無視
.InCellDropdown = True 'ドロップダウン形式表示
.InputTitle = "入力値を選んでください。" '入力セル表示タイトル
.InputMessage = "リストより選択" '入力セル表示メッセージ本文
.ErrorTitle = "入力値が不正" 'エラーメッセージタイトル
.ErrorMessage = "エラー" 'エラーメッセージ本文
.IMEMode = xlIMEModeNoControl 'IME入力モード設定
.ShowInput = True '入力セル表示メッセージ有無
.ShowError = True 'エラーメッセージの表示有無
End With
End Sub
******************************
[使い方]
1.上記の *** で囲まれた内容をコピペし、エクセルマクロ(クラスorモジュール)へ
貼り付けます。
2.マクロ又は、Visual Basic Editer で実行を行ってください。
3.選択しているセルがリスト形式となり 1~4のみ入力することが出来るようになります。
※プロパティを変更することで、形式を変更できます。
※プロパティは省略可能です。
エラーメッセージを表示しないとした時→エラーメッセージ関連を省略。

[てぃーだブログ広告]
Posted by Riichi at 18:19
│Comments(0)
│VB・VBA関連