我已经尝试了下面的方法,但它不起作用,上面的函数没有工作表(“”)。标签用于更新活动工作表中的现有单元格范围,
Sheets("Sheet2").Range("D7").Interior.ColorIndex = 38
有人有任何解决方案吗?
我试过在谷歌上搜索,我似乎找到的只是如何更改活动工作表上的颜色......
编辑:我需要在另一张纸上更改颜色!
输入有点不清楚,但我认为您需要:ActiveSheet.Range("D7").Interior.ColorIndex = 38
您尝试的确切代码:
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 中设置了背景颜色。
Your code properly works. I just changed the sheet name with sheet index.
Sheets(2).Range("D7").Interior.ColorIndex = 38
best regards
Mohammed Q.