十四讲单元格格式

单元格的颜色

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

你可能感兴趣的:(十四讲单元格格式)