2017-09-22 7 views
0

IF式をvbaコードで追加しようとすると、「アプリケーション定義またはオブジェクト定義」エラーが発生します。私はすべての私の参照をチェックして、彼らは正しいように見えます。シートは保護されていません。このエラーについてちょうど無知で、どんな助けも大歓迎です。VBAが検証リストにIF式を追加中にエラーが発生する

With Range("C3").Validation 
    .Delete 
    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _ 
    xlBetween, Formula1:="=IF(B3="""","""",'Sheet3'!$A$1:$A$2)" 
    .IgnoreBlank = True 
    .InCellDropdown = True 
    .InputTitle = "" 
    .ErrorTitle = "" 
    .InputMessage = "" 
    .ErrorMessage = "" 
    .ShowInput = True 
    .ShowError = True 
End With 
+0

アップデート:デバッグ時に ".Add"コードラインにエラーが発生しました。 – marv

+0

'Type:='、 'AlertStyle:='、 'Operator:='と 'Formula1:='を削除してみてください。彼らの後ろにあるものを削除してはいけません。これらの部分を削除してください。 – Moacir

+0

@Moacirすべてを削除すると、[オプションではありません]というエラーメッセージが表示されます(https://msdn.microsoft.com/en-us/vba/excel-vba/articles/validation-add-method-excel)。 )。タイプが必要なためです。演算子がx1Betweenの場合、formula2を指定する必要があります – danieltakeshi

答えて

0

あなたはB3に空のセルを探している場合Formula1:="=IF(COUNTBLANK(B3)=1,"""",'Sheet3'!$A$1:$A$2)"に数式を変更してみてください。 B3が空のセルでない場合はエラーが発生しません。

関連する問題