在使用过滤列表的值属性时出现错误
我碰到的东西我猜是在Excel中讨厌的错误,但不知道。
奇怪的是,我从来没有见过这个,尽pipe10年来发展在Excel的VBA。 用于PC的Excel 2010和2013的工作方式相同。
如何重现:
- 新的工作簿。
- 在单元格a1:f1中添加几个列标题(列1-6)
- 在单元格a2:a8的第一列(“A”或“B”)中添加几个值(至less2个不同的值)
- 添加一个filter到第1行,并从列A中的filter中select一个项目
- 隐藏栏C
-
运行下面的macros:
Public Sub test() Dim rng As Range Dim v As Variant Dim i As Long i = 1 ReDim v(1 To i, 1 To 6) v(1, 1) = "x" v(1, 2) = "x1" v(1, 3) = "x2" v(1, 4) = "x3" v(1, 5) = "x4" v(1, 6) = "x5" Set rng = Sheet1.Range("A9:F9") If i = 2 Then v(2, 1) = "y" v(2, 2) = "y1" v(2, 3) = "y2" v(2, 4) = "y3" v(2, 5) = "y4" v(2, 6) = "y5" Set rng = Sheet1.Range("A9:F10") End If rng.Value = v End Sub
现在发生的是以下,取决于我的价值。
I = 1:
A9="x" B9="x1" C9=unchanged D9:F9="x"
I = 2:
A9="x" B9="x1" C9=unchanged D9="x" E9="x3" F9="#VALUE"
(第10行与9相似,但用“y”代替)
i = 1似乎至less在第一个隐藏的列之后重复第一个值。 对于我= 2,我不知道它在做什么。
从我的angular度来看,这看起来令人难以置信的错误。