2017-02-13 87 views
0

我有一些帶有一些受保護工作表的工作簿。
用戶將數據輸入到每個工作表的特定單元格中。
我希望激活的單元格背景顏色發生變化 - 例如變爲紅色 - 突出顯示時,並在取消選擇時返回原始顏色。
我想找到一個宏將其分配給工作簿,而不是每個工作表。更改活動單元格填充顏色

我認爲這段代碼很有用,但由於我是初學者,我不知道應該改變哪個參數以適應我的需求。

Sub ColorCells() 
    Dim Data As Range 
    Dim cell As Range 
    Set currentsheet = ActiveWorkbook.Sheets("Ekandari") 
    Set Data = currentsheet.Range("C5:D5,F5:M5,L9") 
    For Each cell In Data 
     cell.Interior.ColorIndex = 3 
    Next 
End Sub 
+0

http://stackoverflow.com/help/how-to-ask請告訴我們一些在尋求幫助之前你做的代碼嘗試 – timat

+0

想給我一個考試我的朋友嗎?如果我知道答案,我不會再問。我在網上搜索,發現了一些,但沒有一個修正了我的問題。 – Mansour

+0

?幫助他人重現問題?什麼是你的問題? SO不是「爲你服務編寫代碼」。在這只是一個建議,所以有人可能會回答你的問題..不是我很在乎 – timat

回答

0

曼蘇爾,這應該有所幫助。不幸的是,它不適用於整個工作簿。您將需要將此代碼添加到工作簿中的每個工作表。如果沒有密碼,則需要從第二行刪除「密碼」

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 

    ActiveSheet.Unprotect "password" 

    On Error Resume Next 
    Range("PrevCell").Interior.ColorIndex = 0 

    ActiveCell.Interior.ColorIndex = 3 
    With ActiveWorkbook.Names("PrevCell") 
     .RefersTo = ActiveCell 
    End With 

    ActiveSheet.Protect Password:="password", DrawingObjects:=True, Contents:=True, Scenarios:=True _ 
     , AllowSorting:=True, AllowFiltering:=True, AllowUsingPivotTables:=True 
End Sub 

你需要做的唯一的變化是,如果你不希望活動的顏色是紅色,然後將3更改爲您要使用的任何顏色索引。

+0

在以下它在受保護的頁面上工作。說'ActiveSheet.Uprotect'密碼''的第二行是解除表單的保護。如果你沒有使用密碼,那麼你可以刪除「密碼」部分。如果您使用密碼,請將密碼替換爲您的真實密碼。其次,除了白色以外,細胞還有不同的顏色?此代碼自動將取消選中的單元格更改爲白色。 –

+0

1 - 你說得對,但是我在評論之前評論過你的帖子。 2-起初我認爲它改變爲**沒有填充** cuz白色看起來像那樣。 3 - 您是否確定您的代碼在取消選擇後返回原始活動單元格顏色? – Mansour

+0

你知道我還沒有得到我的答案。原來有些細胞是綠色的,有些是我的表上的藍色。但在應用代碼後,所有顏色都會變爲相關顏色代碼而不是原始顏色。 – Mansour

0

這是最簡單的代碼,我發現它設置背景和活動單元格的顏色。 注:把它(的ThisWorkbook)

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) 
ActiveSheet.Unprotect "Password" 
Sh.UsedRange.Interior.ColorIndex = 27 'change colorindex to select background color 
Target.Interior.ColorIndex = 32   'change colorindex to select active cell color 
ActiveSheet.Protect Password:="Password" 
End Sub 

如果不使用受保護的表上移除

ActiveSheet.Unprotect "Password" 

ActiveSheet.Protect Password:="Password" 
+0

我只想改變活動的細胞顏色,但找不到合適的代碼。如果有人知道請修復它 – Mansour