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

问题描述:

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

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

任何人有任何解决方案?
我已经尝试在谷歌搜索和所有我似乎找到了是如何改变的工作表上的颜色...

编辑: 我需要改变在不同的纸张颜色!

+0

会发生什么事,当你尝试这个代码?它对我来说工作得很好。 – psubsee2003 2013-02-14 16:04:55

+0

什么也没有发生:它只是不更新​​颜色,也不显示任何错误 – maxgohan 2013-02-14 16:06:45

+0

我粘贴了上面提供的确切的一行到一个新的VBA模块,确保“Sheet2”以外的其他东西是活动的,然后运行码。 “Sheet2”上的Cell“D7”是粉红色的。我认为你的问题可能在别处。 – psubsee2003 2013-02-14 16:08:35

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

+0

对不起,我正在寻找在不同的工作表中更改范围的颜色,而不是活动工作表 – maxgohan 2013-02-14 16:03:26

+0

@maxgohan请提供更多相关详细信息:工作表和工作簿名称(至少)。 – 2013-02-14 16:22:28

确切的代码,你试过:

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

工程完全按照你想要的工作。我在Excel 2010的新工作簿和现有工作簿中尝试过它,并且工作得很完美。

我怀疑你的问题是在你的代码中的其他地方,或者你有一个活动的工作簿冲突。 Workbook,WorksheetRange将全部工作,如果以前的水平被忽略,其被假定为当前活动。

因此,举例来说,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的内部颜色。

如果你有潜力,有这个问题,你总是需要确保你的代码是特定在所有3个,这意味着:

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

而这一次将始终设置单元格D7在内饰颜色实际上有问题的代码的工作簿Sheet2。

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

您的代码正常工作。我只是使用图纸索引更改了图纸名称。

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

问候

*Q.