2016-07-04 189 views
-1
Private Sub Workbook_BeforePrint(Cancel As Boolean) 
    If Sheets("Recibo Km A2IT").Range("F20").Value = "Inválido" Or Sheets("Recibo Km A2IT").Range("F31").Value = "Inválido" Or Sheets("Recibo Km A2IT").Range("F42").Value = "Inválido" Or Sheets("Recibo Km A2IT").Range("F53").Value = "Inválido" Then 
     Cancel = True 
     MsgBox ("Por favor verifique se os campos estão válidos") 
    End If 
End Sub 

我試圖在Excel工作表上實現此功能,但無法找到如何使其工作。它只是沒有做任何事情。我想始終保持它的工作狀態,因爲細胞可以是「Inválido」或「」,但它取決於其他條件。VBA Excel禁用打印

你能說我做錯了什麼嗎?

+1

請問如果去掉'如果......結束If'工作? – arcadeprecinct

+0

是的,它的工作原理..所以這裏有錯誤的權利?我不知道如果用正確的方法來使用if或者,im新的vb – Joh

+0

這是正確的方法。顯然沒有任何單元格包含值「Inválido」。也許與「á」有關?如何將「Inválido」添加到單元格中?通過vba或公式或手動? – arcadeprecinct

回答

0

嘗試做這樣的:

If (Sheets("Recibo Km A2IT").Range("F20").Value = "Inválido") Or _ 
    (Sheets("Recibo Km A2IT").Range("F31").Value = "Inválido") Or _ 
    (Sheets("Recibo Km A2IT").Range("F42").Value = "Inválido") Or _ 
    (Sheets("Recibo Km A2IT").Range("F53").Value = "Inválido") Then 
+0

我已經得到它的權利,現在我有一個問題可能看起來很容易: – Joh