将图像元素存储在数组中

时间:2016-03-10 08:28:56

标签: arrays excel excel-vba vba

我需要一些帮助将图像表单元素存储在数组中。 我试过使用As Object / Variant,但我已经用完了逻辑选项来尝试

如下所示,图像名称为I_Monday,I_Tuesday等。

当前代码:

Dim I_Day(0 To 4) As Image
I_Day(0) = I_Monday
I_Day(1) = I_Tuesday
I_Day(2) = I_Wednesday
I_Day(3) = I_Thursday
I_Day(4) = I_Friday

要在for循环中访问的元素。

For i = 0 To 4
  If sht.Cells(nameRow, weekNum + i).Value = "Pass" Then
    I_Day(i).BackColor = RGB(0, 255, 0)
  ElseIf sht.Cells(nameRow, weekNum + i).Value = "Fail" Then
    I_Day(i).BackColor = RGB(255, 0, 0)
  Else
    I_Day(i).BackColor = RGB(0, 0, 255)
  End If
Next i

感谢您的帮助。

编辑:应该提一下错误信息: 运行时错误91: 对象变量或未设置块

1 个答案:

答案 0 :(得分:0)

因为它们是对象,所以在分配它们时需要使用Set

Dim I_Day(0 To 4) As Image
Set I_Day(0) = I_Monday
Set I_Day(1) = I_Tuesday
Set I_Day(2) = I_Wednesday
Set I_Day(3) = I_Thursday
Set I_Day(4) = I_Friday