VBA(13)单元格的属性(三)附单元格颜色图/FIND函数

一、单元格的常用属性

Sub x1()
    Range("b10") = Range("c2").Value '返回实际的值
    Range("b11") = Range("c2").Text '返回相示的值
    Range("b12") = "" & Range("c2").Formula '返回一个C2的文本公式
End Sub

Sub x2() '单元格的地址
    With Range("b2").CurrentRegion
        [b12] = .Address '默认等对绝对引用地址
        [b13] = .Address(0, 0)
        [b14] = .Address(1, 0)
        [b15] = .Address(0, 1)
        [b16] = .Address(1, 1)
        End With
End Sub

Sub x3()       '偏移,扩展
    Range("C5").Offset(1, 1) = "偏移1列1行"     'offset属性:正数偏移行,列,负数反方向
    Range("C5").Resize(3, 3) = "扩展行列"       '调整指定区域
End Sub

Sub x4()       'Areas属性返回选中单元格的集合
    Dim rng As Range
    Dim i As Integer
    Set rng = Range("A1:B2,C3:D4, E5:G7")
        For i = 1 To rng.Areas.Count
            MsgBox "第" & i & "个区域" & rng.Areas(i).Address
        Next
    Set rng = Nothing
End Sub

Sub x5()
    With Range("b2")
        [d12] = .Font.Size '字体大小
        [d13] = .Font.ColorIndex '字体颜色
        [d14] = .Interior.ColorIndex '背景颜色
        [d15] = .Borders.LineStyle '有没有边框
    End With
End Sub

Sub x6()
    [b24] = Range("i2").Comment.Text '等于I2的批注文本,i2如没批注会报错
End Sub

Sub x7()
    With Range("b3")
        [b34] = .Top    '与顶部位置差距
        [b35] = .Left   '左边距
        [b36] = .Height '高度
        [b37] = .Width  '宽度
    End With
End Sub

Sub x8() '单元格的上级信息
    With Range("a1")
        [b31] = .Parent.Name        '返回上级信息sheets.name
        [b32] = .Parent.Parent.Name '返回两上级信息:单元格-工作表名-工作薄名
    End With
End Sub

Sub x9()
    With Range("i3")
        [b34] = .HasFormula             '是否是公式。返回逻辑值true或false
        [b35] = .Hyperlinks.Count       '是否是超链接,超链接个数,0=没有
    End With
End Sub

二、单元格的行与列属性附处理例子

Sub x10()
    With Range("b2").CurrentRegion
    [c12] = .Row '首行的行数
    [c13] = .Rows.Count '总行数
    [c14] = .Column '首列
    [c15] = .Columns.Count '总列数
    [c16] = .Range("a1").Address '所在表第一个单元格地址
    End With
End Sub

Sub x61()            '添加行
    Dim a As Integer
        For a = 1 To 3
            Sheet1.Rows(3).Insert       '第三行处开始添加
        Next
End Sub

Sub x62()
    Sheet1.Range("A3").EntireRow.Resize(3).Insert   'Entirerow返回整行
End Sub

Sub x63()
    Sheet1.Rows(3).Resize(3).Insert     '第三行扩展3,也就是选中三行插入行
End Sub

Sub x64()            '删除已使用单元格内的空行
    Dim rRow As Long
    Dim cRow As Long
    Dim i As Long
    rRow = Sheet1.UsedRange.Row         '开始行
    cRow = rRow + Sheet1.UsedRange.Rows.Count - 1       '开始行 + 已使用单元格的最大行 - 1
    For i = cRow To rRow Step -1
        If Application.WorksheetFunction.CountA(Rows(i)) = 0 Then   '调用工作表函数统计非空
         Rows(i).Delete             '空的行删除
        End If
    Next
End Sub

Sub x65()             '删除A行内重复单元格的行
    Dim r As Integer
    Dim s As Integer
    With Sheet1
        r = .[A65530].End(xlUp).Row
        For s = r To 1 Step -1
        If WorksheetFunction.CountIf(.Columns(1), .Cells(s, 1)) > 1 Then
            .Rows(s).Delete
            End If
        Next
        End With
End Sub

三、单元格的颜色

Sub x12()                  'RGB颜色输入方式
    Dim 红#, 蓝#, 绿#
    红 = 255
    蓝 = 123
    绿 = 100
    Range("g1").Interior.Color = RGB(红, 蓝, 绿)
End Sub
RGB颜色图在 VBA(3)单元格格式附图 

Sub x13() 'excel里自带颜色
    Dim x As Integer
    Range("a1:b60").Clear
        For x = 1 To 56
        Range("a" & x) = x
        Range("b" & x).Interior.ColorIndex = x
    Next
End Sub
'附图

VBA(13)单元格的属性(三)附单元格颜色图/FIND函数_第1张图片
 

四、单元格查找函数

Sub x14()                 '用工作表函数查找
    Dim hao As Integer
    Dim icount As Integer
    icount = Application.WorksheetFunction.CountIf(Sheets("sheet1").[b:b], [c3])
    If icount > 0 Then
        MsgBox "存在"
        Else
        MsgBox "不在"
    End If
End Sub

用FIND查找函数找查

语法说明:

表达式

.Find (WhatAfterLookInLookAtSearchOrderSearchDirectionMatchCaseMatchByteSearchFormat)

expression 一个表示 Range 对象的变量。

参数

名称

必需/可选

数据类型

说明

What

必需

Variant

要搜索的数据。 可为字符串或任意 Microsoft Excel 数据类型。

After

可选

Variant

要在其后开始搜索的单元格。 从用户界面搜索时,这对应于活动单元格的位置。

请注意,After 必须是区域内的单个单元格。 请注意,搜索在此单元格之后开始;在方法回绕到此单元格之前,不会搜索指定的单元格。

如果未指定此参数,搜索将在区域左上角的单元格后面开始。

LookIn

可选

Variant

可以是下列 XlFindLookIn 常量之一:xlFormulas、xlValues、xlComments 或 xlCommentsThreaded。

LookAt

可选

Variant

可以是下列 XlLookAt 常量之一:xlWhole 或 xlPart。

SearchOrder

可选

Variant

可以是以下 XlSearchOrder 常量之一:xlByRows 或 xlByColumns。

SearchDirection

可选

Variant

可以是以下 XlSearchDirection 常量之一: xlNext 或 xlPrevious。

MatchCase

可选

Variant

如果为 True,则搜索区分大小写。 默认值为 False。

MatchByte

可选

Variant

仅在选择或安装了双字节语言支持时使用。 如果为 True,则双字节字符仅匹配双字节字符。 如果为 False,则双字节字符匹配其单字节等效字符。

SearchFormat

可选

Variant

搜索格式。

返回值

一个 Range 对象,它代表在其中找到该信息的第一个单元格。

来自

例子:

Sub x15()       '.FIND函数查找
    Dim r As Integer, r1 As Integer
    Dim icount As Integer
    icount = Application.WorksheetFunction.CountIf(Sheets("sheet1").[b:b], [c3])    '调工作表函数统计个数
    If icount > 0 Then                        '如果存在则查找
        r = Sheets("sheet1").[b:b].Find(Range("G3"), LookAt:=xlWhole).Row   '找查第一次出现的行
        r1 = Sheets("sheet1").[b:b].Find([g3], , , , , xlPrevious).Row      '从下住上查找。也就是最后一个
        MsgBox r & ";" & r1                '显示第一个出现&最后一个
    End If
End Sub

单元格的复习篇章到此到一段落;

谢谢观看。

你可能感兴趣的:(VBA,microsoft)