|
▼まつ さん今晩は
>下記のような事がしたいのですが良い方法がありますか?
>
>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
|
|