单元格的颜色
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