作者:绿色风
分类:
时间:2022-08-17
浏览:118
楼主 悟空师弟 |
Q:如何自动给班级加上对应的颜色? A:详见附件: 如何自动给班级加上对应的颜色?.rar
代码如下:- Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
- On Error GoTo 100
- Dim mrow1 As Integer, mrow2 As Integer, mcol As Integer
- mrow1 = Target.Row
- If Target.Column = 1 And Len(Target) > 0 Then
- mrow2 = Range("H:H").Find(Target).Row
- mcol = Range("i" & mrow2).Interior.ColorIndex
- Range(Cells(mrow1, 1), Cells(mrow1, 3)).Interior.ColorIndex = mcol
- Else
- Range(Cells(mrow1, 1), Cells(mrow1, 3)).Interior.ColorIndex = 0
- End If
- Exit Sub
- 100:
- Range(Cells(mrow1, 1), Cells(mrow1, 3)).Interior.ColorIndex = 0
- End Sub
效果如图:
|
2楼 sam.tan |
悟空师傅,请问当i4的颜色改变时,A:C列内一1班对应的颜色如何同步变色呢? |
3楼 lisan |
我是来学习的,先做个记号。 |
4楼 悟空师弟 |
可以实现! |
5楼 悟空师弟 |
试试这代码:- Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
- Dim rg As Range, rng As Range, rng1 As Range
- Set rng = Range("A2:A8")
- Set rng1 = Range("H4:H8")
- For Each rg In rng
- rg.Interior.ColorIndex = rng1.Find(rg).Offset(0, 1).Interior.ColorIndex
- rg.Offset(0, 1).Interior.ColorIndex = rng1.Find(rg).Offset(0, 1).Interior.ColorIndex
- rg.Offset(0, 2).Interior.ColorIndex = rng1.Find(rg).Offset(0, 1).Interior.ColorIndex
- Next rg
- End Sub
|
6楼 kevinchengcw |
收藏学习 |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一