更新不同表格中的单元格背景?

时间:2013-02-14 15:58:55

标签: excel excel-vba vba

我已经尝试了以下但是它不起作用,上面的功能没有单张(“”)。 tag用于更新活动工作表中的现有单元格区域,

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

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

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

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

您尝试过的确切代码:

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

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

我怀疑您的问题是在您的代码中的其他位置,或者您是否存在活动的工作簿冲突。如果省略前一级别,则WorkbookWorksheetRange将全部有效,假设这是当前有效级别。

因此,例如,假设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中设置了Cell D7的内部颜色。

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

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

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

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

答案 2 :(得分:-1)

您的代码正常运行。我刚用工作表索引更改了工作表名称。

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

最好的问候

穆罕默德问。