2番目の列のすべての行をドロップダウンリストにしたいと考えています。ユーザーがセルをクリックし、既存の名前を選択します。excel VBAドロップダウンリストの作成方法
どうすればよいですか?
私はこのコードを実行すると、エラーが表示されます
無効または非修飾参照
コード:
Sub test()
Dim i As Integer
Dim OfficerList(4) As String
OfficerList(0) = "test1"
OfficerList(1) = "test2"
OfficerList(2) = "test3"
OfficerList(3) = "test4"
OfficerList(4) = "test5"
For i = Range("B5000").End(xlUp).Row To 2
Select Case VBA.CDate(Cells(i, 2))
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, Formula1:=Join(OfficerList, ",")
End Select
Next
For i = Range("C5000").End(xlUp).Row To 2 Step -1 'Range upto 5000, chnge this as per your requirment'
Select Case VBA.CDate(Cells(i, 3))
Case Is < VBA.Date()
Cells(i, 3).Interior.Color = vbGreen
Case Is = VBA.Date()
Cells(i, 3).Interior.Color = vbYellow
Case Is > VBA.Date()
Cells(i, 3).Interior.Color = vbRed
End Select
Next
End Sub
エラーが表示されるのはどの行ですか? – Tom
それは行番号を表示するだけで、上記の型付きエラーでエラーがコンパイルされます –
そしてメッセージが表示されたときに「デバッグ」を押すとエラーのある行が強調表示されます – Tom