2013-02-14 103 views
-1

我已經嘗試了下面,但它不起作用,上面的函數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

回答

0

輸入是有點不清楚,但我認爲你需要的是:ActiveSheet.Range("D7").Interior.ColorIndex = 38

+0

對不起,我正在尋找在不同的工作表中更改範圍的顏色,而不是活動工作表 – maxgohan 2013-02-14 16:03:26

+0

@maxgohan請提供更多相關詳細信息:工作表和工作簿名稱(至少)。 – 2013-02-14 16:22:28

0

確切的代碼,你試過:

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中設置了背景顏色。

-1

您的代碼正常工作。我只是使用圖紙索引更改了圖紙名稱。

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

問候

穆罕默德Q.

相關問題