[英]Adding Cell Value to an Integer (Excel-VBA)
凭借多年的编程经验(无论是VBA的初学者),在线参考和搜索引擎,我还是因为无法实现这一目标而受挫。
我花了至少两个小时尝试CInt,.Range,With / End With,.Value,Cells等的每一个组合,我可能会想到它,它只是在“sum = sum + ... “行:
Public Sub Fill_InnerData()
Dim GNumber As Range
Set GNumber = Range("GenerateNumber")
Dim Data As Range
Set Data = Range("DATA_INNER")
For r = 1 To Data.Rows.Count
For c = 1 To Data.Columns.Count
If Data.Cells(r, c) = "" Then
If c > r Then
Data.Cells(r, c) = 0
Else
Dim x As Integer
x = r - c + 1
Dim y As Integer
y = 2
Dim sum As Integer
sum = 1
For i = 1 To c
sum = sum + CInt(Worksheets("Data").Range(Cells(x, y)).Value)
y = y + 1
Next
End If
End If
Next
Next
End Sub
通过“失败”我的意思是得到这个错误:
运行时错误'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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.