私のコードは次のとおりです
If Cells(Target.Row, 2) = "" And (Cells(Target.Row, 3) = "" Or Cells(Target.Row, 3) = "") Then
Sheets("MySheet").Activate
Cells(Target.Row, 3).Activate
ActiveCell.Validation.Delete
If (Cells(Target.Row, 2) = "Type A") Then
ActiveCell.Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=AvailableVersions"
ElseIf (Cells(Target.Row, 2) = "Type B") Then
ActiveCell.Validation.Delete
Else
ActiveCell.Validation.Add Type:=xlValidateWholeNumber, AlertStyle:=xlValidAlertInformation, Formula1:="0", Formula2:="9999999"
End If
End If
したがって、ActiveCell.Validation.Addに到達するたびに、私が抱えている問題が発生します。
Run Time Error '1004': Application-defined or object-defined error
あまり有用なエラーではありません。また、これは番号とリストの検証タイプの両方で発生するため、ブックレベルのスコープを持つリスト自体の問題ではないと確信しています。ActiveCell.Validation.Deleteで発生することはありませんが、奇妙だと思いますか?
私はグーグル全体で解決策を見つけようとしていますが、ほとんどの場合、Activate呼び出しにもかかわらずフォーカスを奪うボタンから動的検証コードを実行することによって引き起こされることを示唆していますが、ボタンを押すのではなくシート変更イベントで実行しているので、これが私の問題だとは思わないでください-何かアイデアはありますか?私はこれで基本的に一日を無駄にしました!:(