Excel VBA質問箱 IV

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

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


40880 / 76732 ←次へ | 前へ→

【40941】入力規則をVBAで制御
質問  すず  - 06/7/26(水) 16:42 -

引用なし
パスワード
   色々と方法を考えましたが思いつかず投稿しました。

Sheet1のC4セルにフォルダ名を入力します。
この名前は横に配置されたボタンを押すとフォルダ名選択ダイアログが出てきてそちらから選ぶとC4セルにフォルダ名が表示されるようになっています。
もし入力されなかった場合はエラーになりますが、フォルダ名以外の文字などが入力された場合にエラー回避できなくなってしまいます。
入力規則を使用しようかと思ったのですが、たくさんのフォルダがあるので、見難くなる為にダイアログ表示としています。

そこでC4のセルに入力規則を一応組み込んでおいて、他の文字などが入力された場合にエラーを出すようにするのがいいかなと思い考えました。
しかしそのフォルダ名ですが、一定ではありません。
リストが変化する可能性があるので、ブック読込みの際にSheet1のG列にフォルダ名一覧を読込させて非表示にし、何列あるかをそのたびごとに確認する為にH1列に数値を入力しています。
そこで動的に入力規則のリストを変化させるのに、以下のようにコードを書いてみましたがエラーが出ます。

Sub test()
Dim lRng    As String
Dim rRng    As String
Dim hRng    As String
Dim k      As Integer
  k = Worksheets("main").Range("H1").Value
  lRng = "G1"
  rRng = "G" & k
  hRng = lRng & ":" & rRng
  With Worksheets("main").Range("C4")
      .Add Type:=xlValidateList, AlertStyle:= _
        xlValidAlertStop, Operator:= xlBetween, _
        Formula1:=hRng 
      .ErrorMessage = "駐車場名を正しく選択してください"
      .IMEMode = xlIMEModeNoControl
  End With
End Sub

このような方法でなくても、うまいエラーへの対処方法がありましたら教えていただけるとありがたいです。

よろしくお願い致します。
2 hits

【40941】入力規則をVBAで制御 すず 06/7/26(水) 16:42 質問
【40945】Re:入力規則をVBAで制御 Kein 06/7/26(水) 17:30 回答
【40969】Re:入力規則をVBAで制御 すず 06/7/27(木) 9:13 お礼
【40946】Re:入力規則をVBAで制御 ハト 06/7/26(水) 17:35 回答
【40970】Re:入力規則をVBAで制御 すず 06/7/27(木) 9:14 お礼

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