Excel VBA質問箱 IV

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

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


12013 / 76734 ←次へ | 前へ→

【70249】Re:ドロップダウンリスト
質問  悩める老人  - 11/10/23(日) 19:57 -

引用なし
パスワード
   ▼悩める老人 さん:
>▼ichinose さん:
>>>アドバイスに従い試してみました。
>>>第1のセル(プルダウンリスト作成後)がブランクの時
>>> 第2のセルは a
>>>第1のセルで 甲 を 選択すると 第2のセルは A
>>>第1のセルで 乙 を 選択すると 第2のセルは a
>>>となります。
>>>第2のセルには A か a のみが入力されることになります。
>>
>>では、新規ブックにて(Sheet1,Sheet2というシートは、最低存在するブック)、
>>
>>標準モジュールに
>>
>>'==================================================
>>Option Explicit
>>Sub test()
>>  With Sheets("Sheet2")
>>    .Range("a1:b5").Value = [{"a","f";"b","g";"c","h";"d","i";"e","j"}]
>>    .Range("c1:c2").Value = [{"甲";"乙"}]
>>    With Range("a1").Validation
>>      .Delete
>>      .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
>>                xlBetween, Formula1:="=indirect(""sheet2!c1:c2"")"
>>    End With
>>    With Range("B1").Validation
>>     .Delete
>>     .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
>>               xlBetween, Formula1:= _
>>        "=if(a1=""甲"",indirect(""sheet2!a1:a5""),indirect(""sheet2!b1:b5""))"
>>    End With
>>  End With
>>End Sub
>>
>>上記のtestを実行してみてください。
>>
>>正常に終了すれば(すぐに終わります)、
>>
>>Sheet1の A1、B1にて試してみてください。
>>
>>正常に作動するようでしたら、A1,B1の入力規則を確認して下さい。
>
>
>ichinose 様:
>
>さっそくのアドバイスありがとうございます。
>module1に
>
>Option Explicit
>
>Sub test()
>  With Sheets("Sheet2")
>    .Range("a1:b5").Value = [{"a","f";"b","g";"c","h";"d","i";"e","j"}]
>    .Range("c1:c2").Value = [{"甲";"乙"}]
>    With Range("a1").Validation
>      .Delete
>      .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
>                xlBetween, Formula1:="=indirect(""sheet2!c1:c2"")"
>    End With
>    With Range("B1").Validation
>     .Delete
>     .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
>               xlBetween, Formula1:= _
>        "=if(a1=""甲"",indirect(""sheet2!a1:a5""),indirect(""sheet2!b1:b5""))"
>    End With
>  End With
>End Sub
>
>を入力してこれを実行すると期待通りの挙動を示しました。
>
>ありがとうございました。
>
>これを活かして
>sheet1のA列に入力があるとB列にドロップダウンリスト生成
>B列での選定が終わるとC列にドロップダウンが生成(B列の選定の種類に依存)
>するようなコード作成のために
>
>sheet1のworksheetに
>下記のコード を入力し
>
>Option Explicit
>
>Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
>  If Target.Column = 1 Then
>    Cells(Target.Row, 1) = Date
>  End If
>End Sub
>
>Private Sub Worksheet_Change(ByVal Target As Range)
>  If Target.Column = 1 Then
>    Cells(Target.Row, 2).Select
>  ElseIf Target.Column = 2 Then
>    Cells(Target.Row, 3).Select
>  End If
>End Sub
>
>Private Sub Worksheet_SelectionChange(ByVal Target As Range)
>  If Target.Column = 2 Then
>    With Sheets("Sheet2")
>      .Range("c1:c2").Value = [{"甲";"乙"}]
>      With Cells(Target.Row, 2).Validation
>        .Delete
>        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
>                  xlBetween, Formula1:="=indirect(""sheet2!c1:c2"")"
>      End With
>    End With
>  ElseIf Target.Column = 3 Then
>    With Sheets("Sheet2")
>      .Range("a1:b5").Value = [{"a","f";"b","g";"c","h";"d","i";"e","j"}]
>      With Cells(Target.Row, 2).Validation
>       .Delete
>       .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
>                 xlBetween, Formula1:= _
>          "=if(a1=""甲"",indirect(""sheet2!a1:a5""),indirect(""sheet2!b1:b5""))"
>      End With
>    End With
>    
>  End If
>
>End Sub
>
>sheet1のA列をダブルクリックしたところ、B列には 甲、乙のドロップダウンリストが生成
>しかしながら このセル で 甲あるいは乙を選択しても C列にはドロップダウンリストが生成しませんでした。


ichinose様:

申し訳ありません。
追記です。
先のイベント駆動させたコードを実行すると
B列全体に 甲、乙 を選択するドロップダウンリストができました。
本来は該当行(列Aでダブルクリックした行)だけにドロップダウンリストを作成したいと思っています。
1 hits

【70238】ドロップダウンリスト 悩める老人 11/10/22(土) 22:56 質問
【70239】Re:ドロップダウンリスト ichinose 11/10/22(土) 23:21 発言
【70241】Re:ドロップダウンリスト 悩める老人 11/10/23(日) 6:13 質問
【70243】Re:ドロップダウンリスト ichinose 11/10/23(日) 10:14 発言
【70248】Re:ドロップダウンリスト 悩める老人 11/10/23(日) 19:48 質問
【70249】Re:ドロップダウンリスト 悩める老人 11/10/23(日) 19:57 質問
【70251】Re:ドロップダウンリスト ichinose 11/10/23(日) 23:45 発言
【70252】Re:ドロップダウンリスト 悩める老人 11/10/24(月) 4:50 発言
【70253】Re:ドロップダウンリスト 悩める老人 11/10/24(月) 5:20 質問
【70254】Re:ドロップダウンリスト ichinose 11/10/24(月) 7:28 発言
【70266】Re:ドロップダウンリスト 悩める老人 11/10/24(月) 23:59 質問
【70267】Re:ドロップダウンリスト ichinose 11/10/25(火) 6:38 発言
【70269】Re:ドロップダウンリスト 悩める老人 11/10/26(水) 12:45 お礼

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