簡體   English   中英

運行時錯誤13類型不匹配Excel

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM