美文网首页零基础自学VBA
十四讲单元格格式

十四讲单元格格式

作者: 肉丸子豆 | 来源:发表于2017-04-13 08:40 被阅读9次

    单元格的颜色

    Sub ha2()

    Dim x As Integer

    Range("a1:b60").Clear

    For x = 1 To 56 Step 1

    Range("a" & x) = x

    Range("b" & x).Interior.ColorIndex = x

    Next x

    End Sub

    RGB函数

    Sub ha4()

    Dim 红 As Integer, 绿 As Integer, 蓝 As Integer

    红 = 180

    绿 = 188

    蓝 = 100

    Range("g1").Interior.Color = RGB(红, 绿, 蓝)

    End Sub

    单元格的数字格式

    一,判断数值的格式

    1.判断是否为空单元格

    Sub ha5()

    If Len([c1]) = 0 Then

    If [c1] = "" Then

    If VBA.IsEmpty([c1]) Then

    [c1] = "空值"

    End If

    End Sub

    2.判断是否为数字

    利用isnumeric函数来判断是否单元格为数字,这个函数有一个缺陷,如果单元格为空,也会被判断为数字,所以需要同时判断是否为空。

    Sub ha6()

    [c1].Clear

    If VBA.IsNumeric(Range("A1")) And [a1] <> "" Then

    [c1] = "数字"

    End If

    End Sub

    另外一种方法

    Sub ha7()

    If Application.WorksheetFunction.IsNumber([a2]) Then

    [c2] = "数字"

    End If

    End Sub ‘这个方法不需要判断单元格是否为空

    3.判断是否为文本

    Sub ha8()

    If Application.WorksheetFunction.IsText([a3]) Then

    [c3] = "text"

    End If

    End Sub

    Sub ha9()

    If VBA.TypeName([a3].Value) = "String" Then

    [c3] = "text"

    End If

    End Sub

    ’等号之后是区分大小写的,string 的s是需要大写的,不然会造成错误。

    4.判断是否为汉字

    判断是否为汉字是和字母z作比较,大于z的情况下就是汉字

    Sub ha10()

    If [a4] > "z" Then

    [c4] = "汉字"

    End If

    End Sub

    5.判断错误值

    Sub ha11()

    If Application.WorksheetFunction.IsError([a5]) Then

    [c5] = "error"

    End If

    End Sub

    还可以用

    if VBA.iserror([a5]) then

    6判断日期

    if VBA.isdate([a6]) then

    二 设置单元格自定义格式

    Sub ha12()

    Range("d1:d8").NumberFormatLocal = "0.00"

    End Sub

    三 按指定格式从单元格返回数值(后续专题再讲)。

    format函数语法

    format(数值,自定义格式代码)

    四 单元格的合并

    单元格合并

    Sub ha13()

    Range("d2:e4").Merge

    End Sub

    合并区域的返回信息

    Sub ha14()

    Range("f1") = Range("d2").MergeArea.Address(0, 0)

    End Sub

    判断是否含合并单元格

    Sub ha15()

    MsgBox [d2].MergeCells

    End Sub

    Sub ha16()

    [e6] = IsNull(Range("d2:e4").MergeCells)

    End Sub

    利用VBA实行合并同类项

    Sub ha17()

    Application.DisplayAlerts = False

    Dim x As Integer

    Dim rg As Range

    Set rg = [i1]

    For x = 1 To 14

    If Range("i" & x + 1) = Range("i" & x) Then

    Set rg = Union(rg, Range("i" & x + 1))

    Else

    rg.Merge

    Set rg = Range("i" & x + 1)

    End If

    Next x

    Application.DisplayAlerts = True

    End Sub

    相关文章

      网友评论

        本文标题:十四讲单元格格式

        本文链接:https://www.haomeiwen.com/subject/xsupattx.html