[英]Runtime Error 13 type mismatch Excel
我希望您能幫我得到下面的代碼,並且在此行上收到運行時錯誤13
If Sheets("Input").Range("A11:C100").Value = "" Then
我要實現的是不讓用戶保存Excel工作簿而不填充范圍內的單元格(“ A11:C100”)如果代碼只是(“ A11”),則代碼可以正常工作,但是如果我增加了范圍,得到錯誤。
我的代碼其余部分在下面的任何幫助下將不勝感激。
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'Step 1: Check to see if Cell A1 is blank
If Sheets("Input").Range("A11:C100").Value = "" Then
'Step 2: Blank: cancel the Close and tell the user
Cancel = True
MsgBox "Cells A11 to C100 can not be blank"
'Step 3: Not Blank; Save and Close
Else
ActiveWorkbook.Close SaveChanges:=True
End If
End Sub
Sheets("Input").Range("A11:C100").Value
返回一個Variant
數組,其中所有單元格的內容都在該范圍內,因此您無法將其與類似""
的字符串進行比較
如果您需要檢查是否至少填充了該范圍的一個單元格,則
代替:
If Sheets("Input").Range("A11:C100").Value = "" Then
采用
If WorksheetFunction.CountA(Sheets("Input").Range("A11:C100")) = 0 Then
如果您需要檢查是否已填充范圍內的所有單元格,則
代替:
If Sheets("Input").Range("A11:C100").Value = "" Then
采用
If WorksheetFunction.CountA(Sheets("Input").Range("A11:C100")) < Sheets("Input").Range("A11:C100").Count Then
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.