首页 > 解决方案 > VBA; 运行时错误 1004,无法定义此变量?

问题描述

我刚加入这里。由于我是使用 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”,我真的不知道为什么。

//编辑1

所以我添加了一个数组:

Dim monarray
monarray = Array(Januar, Februar, März, April, Mai, Juni, Juli, August, September, Oktober, November, Dezember)

(德语月份名称)

所以..我现在实际上不知道如何使用它!?我只知道这可能更容易

//编辑 2

我让数组正常工作,试图弄清楚如何在我的 for 循环中使用数组的索引 (0-11)。在这个阶段,我认为我可以自己完成,如果我不这样做,我会保持更新。

标签: excelvbaruntime-error

解决方案


您确定工作表索引吗?我试过你的代码没有

With Worksheets(mon)
    .Range("H6:I37").ClearContents
    .Range("Y6:Z37").ClearContents
    .Range("P42") = 0
End With

它工作没有错误..

并且工作表索引不等于项目资源管理器中单词表后的数字


推荐阅读