加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

vba给excel单元格或字体标色

(2016-05-28 16:09:30)
标签:

excel单元格标色

excel字体标色

vba设置单元格的颜色

range区域用变量表示

excel对接用友金蝶sql

分类: Excel_VBA
网址:http://blog.sina.com.cn/s/blog_15b9821340102wcul.html
vba给excel单元格或字体标色

Public Sub jch01_05_明细表_页签_给选择的行_标上_背景色()
    '----给选择的行标上背景颜色,方便看的清楚
    Set EL_App = GetObject(, "Excel.Application")
    If EL_App.Worksheets("数据表设置1").Cells(21, 80).Value = "是" Then                                                         '选择的行,字体标色
         Dim Hang As Long                                                                                                       '选择的行
         Dim ZhLie As Integer                                                                                                   '第10行的最后一列(含标题头的最后一列)
         ZhLie = EL_App.Worksheets("jch01-05").Range("FXD10").End(xlToLeft).Column
         Hang = EL_App.Selection.Row                                                                                            '获取的是一个区域的<左上角>单元格的<行>)vb不支持: ActiveCell.Row
        '---改变点击行(指定行)的背景色
        'EL_App.Worksheets("jch01-05").Cells.Interior.ColorIndex = xlNone                                                       '清空该页签所有的颜色
        'EL_App.Worksheets("jch01-05").Range(EL_App.Worksheets("jch01-05").Cells(Hang, 1), EL_App.Worksheets("jch01-05").Cells(Hang, ZhLie)).Interior.ColorIndex = 36 '<背景>标色
        'EL_App.Worksheets("服务器设置1").Cells(7, 10).Interior.Color = YanSe_BeiJing_1                                         '背景的颜色蓝色
        '---改变点击行字体(指定行的字体)的颜色<字体颜色对照表可以参照:http://blog.sina.com.cn/s/blog_15b9821340102w6ym.html>
         EL_App.Worksheets("jch01-05").Cells.Font.ColorIndex = xlAutomatic                                                       '还原该页签 所有<字体>的颜色为默认黑色
         EL_App.Worksheets("jch01-05").Range(EL_App.Worksheets("jch01-05").Cells(Hang, 1), EL_App.Worksheets("jch01-05").Cells(Hang, ZhLie)).Font.ColorIndex = 5 '<字体>标色
    End If
    
End Sub

----------------------
注意点1:
1.标色前,需要先取消原来的颜色
   1>.取消<所有单元格>的背景色:
         'EL_App.Worksheets("jch01-05").Cells.Interior.ColorIndex = xlNone 
    2>.取消<所有字体>的颜色
         EL_App.Worksheets("jch01-05").Cells.Font.ColorIndex = xlAutomatic     
2.1给区域标色:
         'EL_App.Worksheets("jch01-05").Range(EL_App.Worksheets("jch01-05").Cells(Hang, 1), EL_App.Worksheets("jch01-05").Cells(Hang, ZhLie)).Interior.ColorIndex = 36 '<背景>标色
        'EL_App.Worksheets("服务器设置1").Cells(7, 10).Interior.Color = YanSe_BeiJing_1      
2.2给字体标色:
         EL_App.Worksheets("jch01-05").Range(EL_App.Worksheets("jch01-05").Cells(Hang, 1), EL_App.Worksheets("jch01-05").Cells(Hang, ZhLie)).Font.ColorIndex = 5 '<字体>标色
-------------------------
注意点2:
 区域的变量可以用如下方式表达:
表达方式1:用range
EL_App.Worksheets("jch01-05").Range(EL_App.Worksheets("jch01-05").Cells(Hang, 1), EL_App.Worksheets("jch01-05").Cells(Hang, ZhLie))

表达方式2:用cells
EL_App.Worksheets("服务器设置1").Cells(7, 10).Interior.Color = YanSe_BeiJing_1 

注意点3:
不用rgb表示:
            .Interior.ColorIndex = 36 '<背景>标色
            .Font.ColorIndex = 5 '<字体>标色
用rgb表示:
           .Interior.Color = YanSe_BeiJing_1         '  YanSe_BeiJing_1  = rgb(10,10,10)       

-----------------------
引申知识:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim Myrow As Integer, Mycol As Integer '定义变量Integer为整型数据类型
    Myrow = Target.Row 'Target当前活动单元格,取得其行号
    Mycol = Target.Column
    Cells.Interior.ColorIndex = xlNone '把整个工作表的底纹设置为无,目的是为了删除上一次的
    Rows(Myrow).EntireRow.Interior.ColorIndex = 8                           '给Myrow这一整行添加底纹
    Columns(Mycol).EntireColumn.Interior.ColorIndex = 8                  'Mycol   这一整列添加底纹
End Sub

------------------------
 如果您有任何问题或建议或疑问,欢迎反馈和交流,您的要求就是我们的方向和动力
 更多<数据分析>模板,将陆续发布,敬请期待   

用友数据分析

欢迎访问:http://www.df-bi.com
更多数据分析模型,欢迎扫描"微信公众号"
或者查找微信公众号:"DF数据工厂"  或  "data_f"
vba给excel单元格或字体标色



0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有