【发布时间】:2015-01-25 22:11:05
【问题描述】:
第一次提问,如果没有达到应有的详细程度,敬请见谅。到目前为止,你们帮助我完成了我的第一个 VBA 脚本,但我还没有找到解决这个问题的方法。所以就在这里!
我正在尝试在工作表 1 上编写一个按钮,当我点击它时可以更改工作表 2 上特定单元格的格式。我正在尝试的具体代码如下:
If Cells(i, 6).Value <> "" And Cells(i, 5).Value <> "" Then
Worksheets("Info").Range("F5").Interior.Color = RGB(255, 0, 0)
End If
这个 if 语句位于 i 是计数器的 For 循环中。我收到错误 1004,据我所知,它不允许我在另一张表中选择任何内容。当我删除“Worksheets("Info") 位时,代码在工作表 1 中工作正常,所以我 90% 确定它与尝试修改不同工作表中的单元格有关。
有什么想法吗?
【问题讨论】:
-
您需要完全限定
If Cells(i, 6).Value <> "" And Cells(i, 5).Value <> "" Then中的单元格,就像您对.Range("F5")所做的那样,类似于If Worksheets("Sheet1").Cells(i, 6).Value <> "" And Worksheets("Sheet1").Cells(i, 5).Value <> "" Then -
同时检查
i的值是否是一个有效的行号 -
我按照您的建议修改了代码,但仍然无法正常工作。它对 Worksheets("Info") 抛出相同的异常。 i 始终是一个有效数字,并且不会在该行引发任何错误。第二行代码有问题,其中 Worksheets("Info") 存在。它抛出 1004 错误。
-
您的
Worksheets("Info")似乎受到保护? -
这正是问题所在!你是英雄!
标签: vba excel colors formatting