我刚加入这里。由于我是使用VBA的高级编程人员,还是一般的编程人员,因此,我几乎可以找到所有东西。但是我似乎无法在这里找到我的代码的问题..所以我在excel中获得了每个月的工作表(索引4、6-16(索引5是数据页,我搞砸了,大声笑)),我想要删除每个页面上的单元格内容。我这样做来尝试:
'x is defined earlier
Dim mon As Integer
For mon = 6 To 16
With Worksheets(mon)
.Range("H6:I37").ClearContents
.Range("Y6:Z37").ClearContents
.Range("P42") = 0
End With
For x = 6 To 37
If IsError(Cells(x, 16)) Then
Cells(x, 16).ClearContents
Else
End If
If IsEmpty(Cells(x, 1)) Then
Cells(x, 16).ClearContents
Else
End If
Next x
Next mon
但是在:
For mon = 6 To 16
它吐出“运行时错误104”,我真的不知道为什么。
// edit1
所以我添加了一个数组:
Dim monarray
monarray = Array(Januar, Februar, März, April, Mai, Juni, Juli, August, September, Oktober, November, Dezember)
(德国月份名称)
所以..我实际上现在不知道如何使用它!我只知道这可能会更容易
//编辑2
我让数组工作了,试图弄清楚如何在我的for循环中使用数组的索引(0-11)。在这个阶段,我认为我可以自己做,如果不这样做,我会保持更新。
答案 0 :(得分:0)
您确定有关工作表索引吗? 我尝试了您的代码,没有
With Worksheets(mon)
.Range("H6:I37").ClearContents
.Range("Y6:Z37").ClearContents
.Range("P42") = 0
End With
而且工作正常,没有错误..
工作表索引不等于Project Explorer中单词表后的数字
答案 1 :(得分:0)
好吧,我明白了。问题是“ mon”变量,而不是变量本身,而是页面名称,因为VBA似乎失败,并带有“ä,ö,ü”(UTF.8?),我只是有一种解决方法来重命名这些字母改为“ ae,oe,ue”,则其工作正常。感谢“阵列”物件的帮助,这非常有帮助!