我的程序应该检查一个单元格的颜色索引,然后根据它的颜色增加一个计数器。出于某种原因,我似乎无法将颜色索引存储到变量中。

这是代码:

Dim orange As Integer, green As Integer, blue As Integer, i As Integer, check As Long

For i = 0 To 79

    check = ThisWorkbook.Sheets("Name").Cells(i, 11).Interior.ColorIndex

    If check = 33 Then
        blue = blue + 1
    ElseIf check = 43 Then
        green = green + 1
    ElseIf check = 44 Then
        orange = orange + 1
    End If

Next I

提前致谢!

最佳答案

这是因为您的 i 值从 0 开始。 Cell(0,11) 不是有效的单元格。调整你的 for 循环从 1 开始。

Dim orange As Integer, green As Integer, blue As Integer, i As Integer, check As Long

For i = 1 To 79

    check = ThisWorkbook.Sheets("Name").Cells(i, 11).Interior.ColorIndex

    If check = 33 Then
        blue = blue + 1
    ElseIf check = 43 Then
        green = green + 1
    ElseIf check = 44 Then
        orange = orange + 1
    End If

Next I

关于excel - VBA 在变量中存储颜色索引,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42910762/

10-12 13:04