我以编程方式创建Excel工作簿,并将宏关联到按钮,此宏应检查用户在工作表中输入的值是否正确并为根据情况绿色或红色的细胞。运行时错误1004“Interior.Color”
宏的代码是在另一个Excel工作簿,并加入到与此代码创建的工作簿:
With newWorkBook.Worksheets(1).Buttons.Add(350, 115, 50, 41.25)
.Caption = "Vérifier la conformité"
.OnAction = "'" & ThisWorkbook.FullName & "'!check_FCM"
End With
下面是宏的代码部分不工作:
For i = 0 To col - 1
If (IsNumeric(Cells(29, i + 2).Value)) Then
If (Cells(29, i + 2).Value >= Cells(31, i + 2).Value And Cells(29, i + 2).Value <= Cells(32, i + 2)) Then
Range(Cells(29, i + 2).Address()).Interior.Color = RGB(0, 255, 0)
Else
Range(Cells(29, i + 2).Address()).Interior.Color = RGB(255, 0, 0)
isCorrect = False '
End If '
End If '
Next i '
的问题似乎来自使用“Interior.Color=RGB(x,y,z)
”,因为当我删除它时,我没有收到错误。
工作表是否受到保护?顺便说一句,可以使用:'将细胞(29,I + 2)= .Interior.Color RGB(0,255,0)'而不是'范围(将细胞(29,I + 2)。地址())内部。颜色为RGB(0,255,0)' – Rory
是,纸张被保护的,当我删除保护它工作正常,但我需要保持保护工作表,我该如何使宏观调控工作? – otus
您需要在应用新颜色之前关闭保护并将其打开。或者您可以更改保护级别以允许更改单元格颜色。 – mielk