excel 中颜色获取
Sub t1()
Dim hong As Integer, lv As Integer, lan As Integer
hong = 255
lv = 255
lan = 255
Range("g1").Interior.Color = RGB(hong, lv, lan)
End Sub
一、判断单元格数值格式
1 判断是否为空单元格
Sub t2()
[b1] = ""
'If Range("a1") = "" Then
'If Len([a1]) = 0 Then
If VBA.IsEmpty([a1]) Then
[b1] = "空值"
End If
End Sub
2 判断是否为数字
Sub t3()
[b2] = ""
'If VBA.IsNumeric([a2]) And [a2] <> "" Then
If Application.WorksheetFunction.IsNumber([a2]) Then
[b2] = "数字"
End If
End Sub
' 判断是否为汉字
Sub t4()
[b4] = ""
If [a4] > "z" Then
[b4] = "汉字"
End If
End Sub
判断错误值
Sub t5()
[b5] = ""
'If VBA.IsError([a5]) Then
If Application.WorksheetFunction.IsErr([a5]) Then
[b5] = "错误值"
End If
End Sub
判断日期
Sub t6()
[b6] = ""
If VBA.Date([a6]) Then
[b6] = "日期"
End If
End Sub
二、 设置单元格自定义格式
Sub t7()
Range("a8:a11").NumberFormatLocal = "0.00"
End Sub
单元格的合并
Sub t8()
Range("a8:c8").Merge
End Sub
合并区域的返回值
Sub t9()
Range("a9") = Range("a8").MergeArea.Address ' 返回单元格所在的合并单元格
End Sub
判断是否含合并单元格
Sub t10()
MsgBox Range("b2").MergeCells
MsgBox Range("a1:d7").MergeCells
Range("e2") = IsNull(Range("a1:d7").MergeCells)
Range("e3") = IsNull(Range("a9:d72").MergeCells)
End Sub
综合案例
合并K列相同单元格
Sub t11()
Dim x As Integer
Dim rg As Range
Set rg = Range("h1")
Application.DisplayAlerts = False
For x = 1 To 13
If Range("h" & x + 1) = Range("h" & x) Then
Set rg = Union(rg, Range("h" & x + 1))
Else
rg.Merge
Application.DisplayAlerts = True
Set rg = Range("h" & x + 1)
End If
Next x
End Sub
单元格的输入
Sub t1()
Range("a1") = "a" & "b"
Range("b1") = "a" & char(10) & "b" '换行输入
End Sub
单元格复制与剪切
Sub t2()
Range("a1:a10").Copy Range("c1") ' a1:a10 的内容复制到c1
End Sub
Sub t3()
Range("a1:a10").Copy
ActiveSheet.Paste Range("d1") ' 粘贴至d1
End Sub
Sub t4()
Range("a1:a10").Copy
rnge("a1").PasteSpecial (xlPasteValues) '只粘贴为数值
End Sub
Sub t5()
Range("a1:a10").cat
ActiveSheet.Paste Range("f1") '粘贴到f1
End Sub
Sub t6()
Range("a1:a10").Copy
Range("c1:c10").PasteSpecial operation:=xlAdd '选择粘贴-加
End Sub
Sub t7()
Range("G1:G10") = Range("a1:a10").Value
End Sub
填充公式
Sub t8()
Range("b1") = "=a1*10"
Range("b1:b10").FillDown '向下填充公式
End Sub
单元格的插入
Sub q1()
Range(4).Insert '在第4行插入一行
End Sub
插入行并赋值公式
Sub q2()
Range(4).Insert
Range("3:4").FillDown ' 复制第三行内容
Range("4:4").SpecialCells(xlCellTypeConstants) = "" '将内容清空,留下公式
End Sub
案例 插入行
Sub c3()
Dim x As Integer
For x = 2 To 20
If Cells("3:4") <> Cells(x + 1, 3) Then
Range(x + 1).Insert
x = x + 1
End If
Next x
End Sub
案例 统计不同类型的商品总数
Sub c4()
Dim x As Integer, m1 As Integer, m2 As Integer
Dim k As Integer
m1 = 2
For x = 2 To 1000
If Cells(x, 1) = "" Then Exit Sub
If Cells(x, 3) <> Cells(x + 1, 3) Then
m2 = x
Range(x + 1).Insert
Cells(x + 1, "e") = Cells(x, "e") & "小计"
Cells(x + 1, "h") = "=sum(h" & m1 & ":h" & m2 & ")"
Cells(x + 1, "h").Resize(1, 4).FillRight
Cells(x + 1, "i") = ""
x = x + 1
m1 = m2 + 2
End If
Next x
End Sub
案例 删除空格
Sub dd()
Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
' 删除中间空行
End Sub