我是 VBA 新手,但以前有 PHP 编程逻辑和各种统计编程语法方面的经验。我正在尝试编写代码来搜索一系列单元格范围以查找特定值 - 如果该值存在于范围中,我希望它将 1 插入数组,如果不插入 0。
我的数据看起来像:
**Item R1 R2**
1121 1 3
1121 2
1121
1121 3 2
1121 3
1122 4 5
1122 3 5
1122 5
1122 4
1122 5
我的最终目标是能够对数组中的值求和并计算每个评分的项目总数。例如,在上面的示例中,我希望能够生成:
评分为 1 = 1 的项目数
评分为 2 = 1 的项目数
评分为 3 = 2 的项目数
等等。
我写的代码是:
Sub Items()
Dim myArray() As Variant
Dim i As Integer
Dim k As Integer
i = 0
k = 0
R5 = Range("G(2+k):H(6+k)")
mycount = Application.WorksheetFunction.Sum(myArray)
Sheets("Operational").Select
For Each R5 In Range("G2:H206")
ReDim myArray(0 To i)
myArray(i) = Cell.Value
i = i + 1
k = k + 4
R5.Select
If R5.Value = "1" Then
myArray(i) = 1
Else
myArray(i) = 0
End If
Next
End Sub
每个项目我有 5 行,所以我认为我可以将其作为一个重复的、一致的循环来处理。但是,当我尝试运行它时出现错误 - “应用程序定义的或对象定义的错误”。
我知道这可能不是最好的方法,而且我对此很陌生,我不知道从哪里开始进行故障排除。任何帮助将非常感激。
另外,如果有人对 VBA 结构/代码或初学者教程有很好的参考,请告诉我!我没有太多运气找到任何好的参考资料。