返回列表 上一主題 發帖

[發問] 請大師們幫忙自動變換顏色,謝謝

儲存格色彩代碼.rar (6.59 KB)
請教各位大師

我想要依"公司清單"這個sheet裡列的公司,讓"設備列表"這個sheet裡面的設備自動整列變色成為 ...
leirex1201 發表於 2015-5-8 18:27


各顏色代碼~
在A1填上顏色,滑鼠離開A1移至任一儲存格後,B1可顯示該A1顏色的代碼。

Q1︰W7為各顏色代碼一覽表。

僅供參考。

TOP

http://blog.xuite.net/hcm19522/twblog/354838322

TOP

感謝luhpro大師回覆

請問要貼到wookbook嗎?謝謝
leirex1201 發表於 2015-5-11 10:00

Private Sub cbGetColor_Click()
我是用按鈕事件來驅動,
每按一次就執行顏色檢核與變更.

TOP

回復 13# leirex1201

不用稱我大師,我也是初學者!

    說實在的以上的程式碼,我也是看到你的問題之後去做巨集,然後想出來的,而我找到的方法都沒辦法對應到RGB
但可以用RGB填入色彩,是否能對應到RGB色碼,就要請教其他大大們了!我找到的只有以下程式碼
Sub 巨集1()
Range("A1:A2").Interior.Color = RGB(0, 255, 1)'A1:A2儲存格填入色彩
Range("B1") = Range("A1").Interior.Color  '傳回A1物件的主要色彩
Range("B2") = Range("A2").Interior.ColorIndex    '傳回A2代表內景色彩
End Sub

TOP

回復  leirex1201

是只要A欄和B欄有值,然後從編輯的那一行A到K都變色對嗎?只要改紅字的部份就可以了
...
lpk187 發表於 2015-5-11 13:15



對了,忘了請問lpk187大師
我本身對顏色辨識較弱,
如果沒有相對應的色碼,太相似的顏色分不太清楚
有辦法自動標示相對應的色碼嗎...例如RGB或CMYK或HTML的FFFFFF

謝謝大師
天天空空啊~

TOP

回復  leirex1201

是只要A欄和B欄有值,然後從編輯的那一行A到K都變色對嗎?只要改紅字的部份就可以了
...
lpk187 發表於 2015-5-11 13:15


感謝lpk187大師

測試已可以使用,我把最下面的else if拿掉了,不然編輯範圍以外的儲存格都會變成"白底色"
再次感謝lpk187大師的用心幫忙,感恩

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column < 11 And Target.Row > 1 And Cells(Target.Row, "B") <> "" And Cells(Target.Row, "A") <> "" Then
    Set col = Sheets("公司清單").Columns(2).Find(Cells(Target.Row, 2), , , , , 2)
        AA = col.Offset(0, 1).Interior.Color
    Range(Cells(Target.Row, 1), Cells(Target.Row, 11)).Interior.Color = _
    col.Offset(0, 1).Interior.Color
End If
End Sub
天天空空啊~

TOP

回復 10# leirex1201

是只要A欄和B欄有值,然後從編輯的那一行A到K都變色對嗎?只要改紅字的部份就可以了
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column < 3 And Target.Row > 1 And Cells(Target.Row, "B") <> "" And Cells(Target.Row, "A") <> "" Then
    Set col = Sheets("公司清單").Columns(2).Find(Cells(Target.Row, 2), , , , , 2)
        AA = col.Offset(0, 1).Interior.Color
    Range(Cells(Target.Row, 1), Cells(Target.Row, 11)).Interior.Color = _
    col.Offset(0, 1).Interior.Color
Else
    Range(Cells(Target.Row, 1), Cells(Target.Row, 11)).Interior.Color = 16777215
End If
End Sub

TOP

回復  lpk187

改成下列的話,只要A欄和B欄其中一個無值的話回復空白
lpk187 發表於 2015-5-11 11:41


感謝 lpk187 大師再次幫忙

不好意思,我可能還是沒表達清楚,我做了圖片如下
我想要達成如下圖這樣子,不管我在哪一column編輯,只要column(B)的值是符合"公司清單"sheet的值,那row(A2:K10)都變色
再次感謝^^
天天空空啊~

TOP

回復 8# lpk187

改成下列的話,只要A欄和B欄其中一個無值的話回復空白
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. If Target.Column < 3 And Target.Row > 1 And Cells(Target.Row, "B") <> "" And Cells(Target.Row, "A") <> "" Then
  3.     Set col = Sheets("公司清單").Columns(2).Find(Cells(Target.Row, 2), , , , , 2)
  4.         AA = col.Offset(0, 1).Interior.Color
  5.     Range(Cells(Target.Row, 1), Cells(Target.Row, 5)).Interior.Color = _
  6.     col.Offset(0, 1).Interior.Color
  7. Else
  8.     Range(Cells(Target.Row, 1), Cells(Target.Row, 5)).Interior.Color = 16777215
  9. End If
  10. End Sub
複製代碼

TOP

回復 7# leirex1201

嗯!那就改成下列
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. If Target.Column < 3 And Target.Row > 1 And Cells(Target.Row, "B") <> "" And Cells(Target.Row, "A") <> "" Then
  3.     Set col = Sheets("公司清單").Columns(2).Find(Cells(Target.Row, 2), , , , , 2)
  4.     Range(Cells(Target.Row, 1), Cells(Target.Row, 5)).Interior.Color = _
  5.     col.Offset(0, 1).Interior.Color
  6. End If
  7. End Sub
複製代碼

TOP

        靜思自在 : 君子為目標,小人為目的。
返回列表 上一主題