数组:编译错误。变量数量错误

时间:2016-10-06 03:45:14

标签: arrays vba

我正在学校学习VBA并且遇到一些基础知识 我用随机整数填充A1到D1的单元格 我想总结它们并将解决方案放在E1中。

Sub Add_Four_Numbers()
Dim CBArray(3) As Double
For i = 1 To 4
    Cells(i, 4) = gerry(Cells(i, 1), Cells(i, 2), Cells(i, 3), Cells(i, 4))
Next i
End Function

我一直在:

  

编译错误。变量数量错误

我试图修复数组的维度但没有成功 有人可以提出建议吗? 谢谢。

1 个答案:

答案 0 :(得分:0)

不确定学校的作业是什么,但有几种方法可以对单元格A1-D1中的值求和,并将结果输入单元格E1。

在下面的代码中,有3种方法可以将它们相加。

(不确定为什么要使用数组,这是作业的一部分吗?)

Option Explicit

Sub Add_Four_Numbers()

Dim Sht             As Worksheet
Dim i               As Long

' always set your cells to a sheet varibale >> modify "Sheet1" to your Sheet's name
Set Sht = ThisWorkbook.Sheets("Sheet1")

' option 1: using WorksheetFunction SUM and your pre-defined Range
With Sht
    .Range("E1").Value = WorksheetFunction.Sum(.Range("A1:D1"))
End With


' option 2: using WorksheetFunction SUM and Cells reference inside
With Sht
    .Range("E1").Value = WorksheetFunction.Sum(.Cells(1, 1), .Cells(1, 2), .Cells(1, 3), .Cells(1, 4))
End With


' option 3: using a For loop
With Sht
    .Range("E1").Value = 0
    For i = 1 To 4
        .Range("E1").Value = .Range("E1").Value + .Cells(1, i)
    Next i
End With

End Sub