Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


49731 / 76736 ←次へ | 前へ→

【31908】Re:入力規則の文字数制限
発言  ichinose  - 05/12/2(金) 7:43 -

引用なし
パスワード
   ▼ぱぴよん さん:
おはようございます。

>希望としては、xlBetween, Formula1:=のところで、下のように
>して、セルを参照させないようにしたいのですが、
どうしてですか?
せっかくのセルなのに・・・。

>何かよい方法はありますでしょうか?
どうしてもリストメンバーをコード内で指定したいのなら、
コンボボックスコントロールを使用する方法等を考えなければなりませんが、
入力規則のリストのセル参照でよいと思いますが・・・。

新規ブックに以下のコードをコピーして作動させてみてください。

・シートを最右端に追加し、追加したシートにリストメンバーサンプルを作成。
・作成シートを非表示
・リストメンバーを名前の定義で登録
・登録した名前を非表示
・最左端のシートのセルB1に入力規則を設定

なんて手順で設定を行っているコードです。
標準モジュールに
'=====================================================================
Sub 入力規則設定()
   Dim sht As Worksheet
   Dim nm As Name
   Set sht = Worksheets.Add(after:=Worksheets(Worksheets.Count))
   With sht
     For idx = 1 To 50
      .Cells(idx, 1).Value = String(10, Chr(-32096 + (idx - 1)))
      Next
     .Range("a1").EntireColumn.AutoFit
     .Visible = xlSheetVeryHidden
     End With
    '↑最右端にシートを追加し、そこにサンプル作成。作成シートは 非表示に設定
    Set nm = Names.Add("ListRange", "=" & sht.Range("a1:a50").Address(, , xlR1C1, True))
    '名前の定義で作成サンプルセル範囲を登録
    nm.Visible = False '定義した名前を非表示
    With Worksheets(1).Cells(1, 2).Validation
     .Delete
     .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
          xlBetween, Formula1:="=ListRange"
     End With
    Worksheets(1).Select
End Sub

こんな方法で良いのではないですか?
0 hits

【31846】入力規則の文字数制限 ぱぴよん 05/11/30(水) 23:32 質問
【31853】Re:入力規則の文字数制限 ichinose 05/12/1(木) 8:55 発言
【31903】Re:入力規則の文字数制限 ぱぴよん 05/12/2(金) 3:12 質問
【31908】Re:入力規則の文字数制限 ichinose 05/12/2(金) 7:43 発言
【32042】Re:入力規則の文字数制限 ぱぴよん 05/12/5(月) 12:45 お礼

49731 / 76736 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free