| 
    
     |  | ▼まつ さん今晩は >下記のような事がしたいのですが良い方法がありますか?
 >
 >A1セルの値を条件とします。
 >B1セルにリスト・プルダウンのような物で
 >A1の値が1だったらリストの範囲がC1:D10
 >A1の値が2だったらリストの範囲がE1:F10
 >A1の値が3だったらリストの範囲がG1:H10
 >A1の値が4だったらリストの範囲がI1:J10
 >のように設定することができるでしょうか?
 >他の方法でもかまいません、どなたかお教えください。
 
 データに","が入ってないなら、こんな方法もあります
 Private Sub Worksheet_Change(ByVal Target As Range)
 Dim c As Range, st As String
 If Target.Address(0, 0) <> "A1" Then Exit Sub
 If Range("A1").Value < 1 Then Exit Sub
 If Range("A1").Value > 4 Then Exit Sub
 If Range("A1").Value = 1 Then st = "C1:D10"
 If Range("A1").Value = 2 Then st = "E1:F10"
 If Range("A1").Value = 3 Then st = "G1:H10"
 If Range("A1").Value = 4 Then st = "I1:J10"
 '
 'data="a,b,c"の形にするための処理
 data = ""
 For Each c In Range(st)
 If data = "" Then
 data = c.Text
 Else
 data = data & "," & c.Text
 End If
 Next
 '
 With Range("B1").Validation
 .Delete
 .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
 xlBetween, Formula1:=data
 End With
 End Sub
 
 
 |  |