Vba Excel宏内部颜色
我是Excel宏的新手,在使用我编写的宏时遇到了一些问题。当我尝试运行此脚本时,会出现“运行时错误'13'类型不匹配”错误。我要做的是让excel检查单元格是否为黑色,如果为黑色,则让excel将“myBit”中的相应数字添加到“ans”中,并在行尾将列“J”设置为“ans”,然后重复下一列。很抱歉,如果你觉得这让人困惑,但我尽了最大努力解释我想做什么Vba Excel宏内部颜色,vba,excel,Vba,Excel,我是Excel宏的新手,在使用我编写的宏时遇到了一些问题。当我尝试运行此脚本时,会出现“运行时错误'13'类型不匹配”错误。我要做的是让excel检查单元格是否为黑色,如果为黑色,则让excel将“myBit”中的相应数字添加到“ans”中,并在行尾将列“J”设置为“ans”,然后重复下一列。很抱歉,如果你觉得这让人困惑,但我尽了最大努力解释我想做什么 Private Sub CommandButton1_Click() Dim myRow Dim myBit Dim ans As Intege
Private Sub CommandButton1_Click()
Dim myRow
Dim myBit
Dim ans As Integer
Dim c As Integer
Dim r As Integer
myRow = Array("B", "C", "D", "E", "F", "G", "H", "I")
myBit = Array(128, 64, 32, 16, 8, 4, 2, 1)
c = 0
r = 3
For r = 3 To 11
ans = 0
For c = 0 To 8
If Cells(myRow(c) + r).Interior.Color = RGB(0, 0, 0) Then ans = ans + myBit(c)
Cells("J" + r).Value = ans
Next c
Next r
End Sub
单元格
的语法是单元格(行、列)
。请看这个
您需要的是范围
,而不是范围。也有一些事情是不需要的。这是您正在尝试的吗(未经过彻底测试)
单元格
的语法是单元格(行、列)
。请看这个
您需要的是范围
,而不是范围。也有一些事情是不需要的。这是您正在尝试的吗(未经过彻底测试)
谢谢你!我刚刚更正了“for”循环的代码,因为您将7改为8,但现在效果非常好。我将
8
改为8
,因为您在原始问题中有8
:)谢谢!我刚刚更正了“for”循环的代码,因为您将7改为8,但现在效果非常好,我将8
改为8
,因为您在原始问题中有8
)
Private Sub CommandButton1_Click()
Dim ans As Integer, c As Integer, r As Integer
Dim myRow, myBit
myRow = Array("B", "C", "D", "E", "F", "G", "H", "I")
myBit = Array(128, 64, 32, 16, 8, 4, 2, 1)
For r = 3 To 11
ans = 0
For c = 0 To 8
If Range(myRow(c) & r).Interior.Color = RGB(0, 0, 0) Then _
ans = ans + Val(myBit(c))
Range("J" & r).Value = ans
Next c
Next r
End Sub