将单元格值添加到整数(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

,"failing"我的意思是得到这个错误:

运行时错误'1004':

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

我在上面提到的每一个组合中都收到了这个错误。

我做错了什么?

这里的想法是您的语法引用范围。它应该足够剪掉一点,这样做:

Sum = Sum + CInt(Worksheets("Data").Cells(x, y).Value)

根据我的经验,如果只提供一个参数,范围需要括号内的地址字符串。如果同时提供起始和结束范围点,也可以放置cell。这两行简单的代码语法正确:

Range(Cells(1,1), Cells(2,2)).Select
Range(Cells(1,1).Address).Select

这是无效的:

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

最新更新