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のみ入力することが出来るようになります。
  ※プロパティを変更することで、形式を変更できます。
  ※プロパティは省略可能です。
   エラーメッセージを表示しないとした時→エラーメッセージ関連を省略。

VBAでセル形式をリスト(ドロップダウン型)にする。

人気ブログランキングへ人気ブログランキングへ 記事が参考となりましたら。ブログランキングバナーのクリックをお願いします。




[てぃーだブログ広告]

同じカテゴリー(VB・VBA関連)の記事

上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。

アクセスカウンタ
読者登録
メールアドレスを入力して登録する事で、このブログの新着エントリーをメールでお届けいたします。解除は→こちら
現在の読者数 3人
QRコード
QRCODE