简化了vba中很多变量的编码

时间:2014-05-02 21:36:43

标签: vba variables

我有100个盒子(box1,box2等),每个盒子有100行值。 (0,1,2等)所以我总共有10,000行数据。我正在计算每个框中具有特定值的单元格数。我设置了范围,因为我可以更改countif值,例如值为2,3等的单元格数。

然而,要做到这一点,我必须将Dim框放置100次并设置box = 100次。有没有办法简化这个?每个框总共有100行,总框数总是100。

Dim box1 As Range
Dim box2 As Range
Dim box 3 As Range
.....

Set box1 = Range("A1:A100")
Set box2 = Range("A101:200")
Set box3 = Range("A201:300")
.....

Range("C1").formula = "=COUNTIF(box1, "1")"
Range("C2").formula = "=COUNTIF(box2, "1")"
.....

enter image description here

1 个答案:

答案 0 :(得分:2)

这应该让你开始朝着正确的方向前进:

Sub tgr()

    Dim box(1 To 100) As Range
    Dim i As Long

    For i = 1 To UBound(box)
        Set box(i) = Cells(100 * (i - 1) + 1, "A").Resize(100)
        Cells(i, "C").Formula = "=COUNTIF(" & box(i).Address & ",""1"")"
    Next i

End Sub