将单元格值添加到整数(Excel VBA)

将单元格值添加到整数(Excel VBA),excel,vba,Excel,Vba,凭借多年的编程经验(不过是VBA初学者)、在线参考资料和搜索引擎,我对自己无法实现这一点感到非常失望 我已经花了至少两个小时尝试了我可能想到的CInt、.Range、With/End With、.Value、Cells等的每种组合,但它在“sum=sum+…”行中总是失败: “失败”是指出现以下错误: 运行时错误“1004”: 应用程序定义或对象定义错误 在我尝试的每一种组合中,我都会在提到的行中收到该错误 我做错了什么?这里想的是你的语法指的是范围。只需稍微剪短一点,然后这样做就足够了: Su

凭借多年的编程经验(不过是VBA初学者)、在线参考资料和搜索引擎,我对自己无法实现这一点感到非常失望

我已经花了至少两个小时尝试了我可能想到的CInt、.Range、With/End With、.Value、Cells等的每种组合,但它在“sum=sum+…”行中总是失败:

“失败”是指出现以下错误:

运行时错误“1004”:

应用程序定义或对象定义错误

在我尝试的每一种组合中,我都会在提到的行中收到该错误


我做错了什么?

这里想的是你的语法指的是范围。只需稍微剪短一点,然后这样做就足够了:

Sum = Sum + CInt(Worksheets("Data").Cells(x, y).Value)
根据我的经验,如果只提供一个参数,则范围需要括号内的地址字符串。或者,如果同时提供起始和结束范围点,则可以放置单元格。这两行简单的代码语法正确:

Range(Cells(1,1), Cells(2,2)).Select
Range(Cells(1,1).Address).Select
这是无效的:

Range(Cells(1,1)).Select    'error 1004 here

请验证变量x,y中的值。它应该始终大于0。此外,必须存在名为“Data”的工作表。工作表“Data”肯定存在,因为此子工作表位于模块中,另一个子工作表在“Data”中设置值,并且该子工作表工作正常。另外,检查X和Y值的好方法是,行“X=r-c”应该是“X=r-c+1”(现在已更新)。但是,这丝毫没有改变生成的错误消息。运行时错误1004通常意味着您引用的对象在工作簿中不存在。你可以参考这个链接试试CInt(工作表(“数据”).Cells(x,y).Value)@android_newbie我试过了(以及许多其他组合),但没有成功。卡兹贾夫的回答说明了问题所在。
Range(Cells(1,1)).Select    'error 1004 here