运行时错误13types不匹配Excel

我希望你能帮助我有下面的一段代码,我得到运行时错误13在这一行

If Sheets("Input").Range("A11:C100").Value = "" Then 

我想要实现的是不让用户保存Excel工作簿,而不填充范围内的单元格(“A11:C100”)如果只是(“A11”),代码工作正常,但如果我增加范围I得到错误。

我的代码的其余部分是低于任何帮助将不胜感激。

 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数组,其中所有的单元格内容都在这个范围内,所以你不能把它与string比如""

  • 如果您需要检查是否至less有一个范围的单元格填充然后

    代替:

     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