-1

我已经尝试了下面的方法,但它不起作用,上面的函数没有工作表(“”)。标签用于更新活动工作表中的现有单元格范围,

Sheets("Sheet2").Range("D7").Interior.ColorIndex = 38

有人有任何解决方案吗?
我试过在谷歌上搜索,我似乎找到的只是如何更改活动工作表上的颜色......

编辑:我需要在另一张纸上更改颜色!

4

3 回答 3

0

输入有点不清楚,但我认为您需要:ActiveSheet.Range("D7").Interior.ColorIndex = 38

于 2013-02-14T16:02:30.723 回答
0

您尝试的确切代码:

Sheets("Sheet2").Range("D7").Interior.ColorIndex = 38

完全按照您希望的方式工作。我在 Excel 2010 中的新工作簿和现有工作簿中都尝试了它,并且效果很好。

我怀疑您的问题出在代码中的其他地方,或者您有活动的工作簿冲突。 Workbook, Worksheet, 和Range如果省略前一个级别(假定为当前活动),则所有这些都将起作用。

因此,例如,Range("D7").Interior.ColorIndex = 38假设为:

ActiveSheet.Range("D7").Interior.ColorIndex = 38

同样,Sheet("Sheet2").Range("D7").Interior.ColorIndex = 38实际上假定为

ActiveWorkbook.Sheet("Sheet2").Range("D7").Interior.ColorIndex = 38

因此,如果您打开了另一个工作簿并且该工作簿处于活动状态,那么您实际上是在该工作簿的 Sheet2 中设置单元格 D7 的内部颜色。

如果您有可能遇到此问题,则始终需要确保您的代码在所有 3 上都是特定的,这意味着:

ThisWorkbook.Sheet("Sheet2").Range("D7").Interior.ColorIndex = 38

并且这个将始终设置实际具有相关代码的工作簿 Sheet2 中单元格 D7 的内部颜色。

您的代码可能正在运行,并且您在错误的 Sheet2 中设置了背景颜色。

于 2013-02-14T16:50:40.053 回答
-1

Your code properly works. I just changed the sheet name with sheet index.

Sheets(2).Range("D7").Interior.ColorIndex = 38

best regards

Mohammed Q.

于 2015-03-17T07:25:49.893 回答