EXCEL VBA 数据有效性代码问题
SubValidation()WithRange("A1:AR36").Validation.Delete.AddType:=xlValidateList,_AlertS...
Sub Validation()
With Range("A1:AR36").Validation
.Delete
.Add Type:=xlValidateList, _
AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, _
Formula1:="123,1234,12345,12346"
End With
End Sub
写了个有数据有效性的代码 如下图所示
但是选择了下拉框中的数据以后是没有颜色的
如何使选中的数据自动带颜色和黑体?如选123 则单元格中自动出来红色123 展开
With Range("A1:AR36").Validation
.Delete
.Add Type:=xlValidateList, _
AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, _
Formula1:="123,1234,12345,12346"
End With
End Sub
写了个有数据有效性的代码 如下图所示
但是选择了下拉框中的数据以后是没有颜色的
如何使选中的数据自动带颜色和黑体?如选123 则单元格中自动出来红色123 展开
4个回答
展开全部
在VBA工程浏览器里双击你要控制的工作表,如Sheet1,添加Worksheet的change事件,就是当工作表里文本发生改变时触发该事件,参数是发生改变的区域。代码如下:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Text = "123" Then '如果选择的是123
Target.Interior.Color = RGB(255, 0, 0) '这个是背景色,RGB格式的颜色,可以自己随便改
Target.Font.Name = "黑体" '字体名称
Target.Font.Bold = True '是否为粗体
Target.Font.Color = RGB(0, 255, 0) '这个是文本颜色,RGB格式的颜色,可以自己随便改
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Text = "123" Then '如果选择的是123
Target.Interior.Color = RGB(255, 0, 0) '这个是背景色,RGB格式的颜色,可以自己随便改
Target.Font.Name = "黑体" '字体名称
Target.Font.Bold = True '是否为粗体
Target.Font.Color = RGB(0, 255, 0) '这个是文本颜色,RGB格式的颜色,可以自己随便改
End If
End Sub
展开全部
颜色通过条件格式来设置。
选中要设置的区域,在菜单“格式”-条件格式,设置单元格数值等于多少相对应的颜色,可以通过增加条件来设置各种数值及颜色
选中要设置的区域,在菜单“格式”-条件格式,设置单元格数值等于多少相对应的颜色,可以通过增加条件来设置各种数值及颜色
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Sub Macro1()
With Range("A1:AR36").Validation
.Delete
.Add Type:=xlValidateList, _
AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, _
Formula1:="123,1234,12345,12346"
End With
Range("A1:AR36").FormatConditions.Delete
Range("A1:AR36").FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="123"
Range("A1:AR36").FormatConditions(1).Font.ColorIndex = 3
Range("A1:AR36").FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="1234"
Range("A1:AR36").FormatConditions(2).Font.ColorIndex = 5
Range("A1:AR36").FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="12345"
Range("A1:AR36").FormatConditions(3).Font.ColorIndex = 39
End Sub
With Range("A1:AR36").Validation
.Delete
.Add Type:=xlValidateList, _
AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, _
Formula1:="123,1234,12345,12346"
End With
Range("A1:AR36").FormatConditions.Delete
Range("A1:AR36").FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="123"
Range("A1:AR36").FormatConditions(1).Font.ColorIndex = 3
Range("A1:AR36").FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="1234"
Range("A1:AR36").FormatConditions(2).Font.ColorIndex = 5
Range("A1:AR36").FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="12345"
Range("A1:AR36").FormatConditions(3).Font.ColorIndex = 39
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看看这个例子吧。写了一小段程序。
http://www.mofile.com/pickup/cpwvxpsqtkkj9kd/
http://www.mofile.com/pickup/cpwvxpsqtkkj9kd/
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询