文章目录

  • 一. 单元格的内容
    • 1.1. 获取单元格的真实内容
    • 1.2. 获取单元格的显示内容
    • 1.3. 获取单元格使用的公式
    • 1.4. 判断单元格是否为空
    • 1.5. 判断单元格的内容是不是数字
    • 1.6. 判断单元格的内容是不是字符
    • 1.7. 判断单元格的内容是不是日期
    • 1.8. 判断单元格的内容是不是英文字母、英文符号、数字以外的字符
    • 1.9. 判断单元格是否有公式
    • 1.10. 获取单元格的超链接数量
    • 1.11. 获取单元格的批注
  • 二、单元格的信息
    • 2.1. 字体颜色和单元格背景色
    • 2.2. 字体大小
    • 2.3. 单元格的宽高
    • 2.4. 单元格的地址
    • 2.5. 单元格所在的行号和列号
    • 2.6. 单元格对象包含的行数和列数
    • 2.7. 单元格合并
    • 2.8. 单元格所属的工作表和工作簿名称
  • 三、单元格的编辑
    • 3.1. 插入单元格
    • 3.2. 删除单元格
    • 3.3. 单元格内容换行
    • 3.4. 复制单元格
    • 3.5. 单元格剪切
    • 3.6. 单元格填充公式

一. 单元格的内容

1.1. 获取单元格的真实内容

Public Sub main()Dim rng As RangeSet rng = Range("A1")Debug.Print rng.Value
End Sub

1.2. 获取单元格的显示内容

Public Sub main()Dim rng As RangeSet rng = Range("A1")Debug.Print rng.Text
End Sub

1.3. 获取单元格使用的公式

Public Sub main()Dim rng As RangeSet rng = Range("A1")Debug.Print rng.Formula
End Sub

1.4. 判断单元格是否为空

第一种方式:

Public Sub main()Dim rng As RangeSet rng = Range("A1")If rng.Value = "" ThenDebug.Print "单元格内容为空!"End If
End Sub

第二种方式:

Public Sub main()Dim rng As RangeSet rng = Range("A1")If Len(rng.Value) = 0 ThenDebug.Print "单元格内容为空!"End If
End Sub

第三种方式:

Public Sub main()Dim rng As RangeSet rng = Range("A1")If VBA.IsEmpty(rng.Value) ThenDebug.Print "单元格内容为空!"End If
End Sub

1.5. 判断单元格的内容是不是数字

第一种方式:这种方式,必须同时判断单元格内容不为空,因为单元格内容为空 IsNumeric 也会认为是数字

Public Sub main()Dim rng As RangeSet rng = Range("A1")If VBA.IsNumeric(rng.Value) And rng.Value <> "" ThenDebug.Print "单元格内容是数字!"End If
End Sub

第二种方式:

Public Sub main()Dim rng As RangeSet rng = Range("A1")If Application.WorksheetFunction.IsNumber(rng.Value) ThenDebug.Print "单元格内容是数字!"End If
End Sub

1.6. 判断单元格的内容是不是字符

第一种方式:

Public Sub main()Dim rng As RangeSet rng = Range("A1")If Application.WorksheetFunction.IsText(rng.Value) ThenDebug.Print "单元格内容是字符!"End If
End Sub

第二种方式:

Public Sub main()Dim rng As RangeSet rng = Range("A1")If VBA.TypeName(rng.Value) = "String" ThenDebug.Print "单元格内容是字符!"End If
End Sub

1.7. 判断单元格的内容是不是日期

日期必须是 yyyy/MM/dd 的格式

Public Sub main()Dim rng As RangeSet rng = Range("A1")If VBA.IsDate(rng.Value) ThenDebug.Print "单元格内容是日期!"End If
End Sub

1.8. 判断单元格的内容是不是英文字母、英文符号、数字以外的字符

Public Sub main()Dim rng As RangeSet rng = Range("A1")If rng.Value > "z" ThenDebug.Print "单元格内容是英文字母、英文符号、数字以外的字符"End If
End Sub

1.9. 判断单元格是否有公式

Public Sub main()Dim rng As RangeSet rng = Range("A1")If rng.HasFormula ThenDebug.Print "单元格使用了公式"End If
End Sub

1.10. 获取单元格的超链接数量

Public Sub main()Dim rng As RangeSet rng = Range("A1")Debug.Print rng.Hyperlinks.Count
End Sub

1.11. 获取单元格的批注

Public Sub main()Dim rng As RangeSet rng = Range("A1")Debug.Print rng.Comment.Text
End Sub

当单元格没有批注信息时,会提示下面的错误信息

二、单元格的信息

2.1. 字体颜色和单元格背景色

1. 获取 Excel 中颜色和下标对照表

将颜色和对应的下标都显示到单元格中,方便以后使用颜色的时候查看

Public Sub main()Dim index As IntegerRange("A1:b60").ClearFor index = 1 To 56Range("a" & index) = indexRange("b" & index).Interior.ColorIndex = indexNext index
End Sub

2. 单元格背景色

将颜色下标赋值给单元格对象的 Interior.ColorIndex 属性就可以,如果想去除颜色就赋值 xlNone

Public Sub main()Dim rng As RangeSet rng = Range("A1")rng.Interior.ColorIndex = 5
End Sub

3. 字体颜色

Public Sub main()Dim rng As RangeSet rng = Range("A1")rng.Font.ColorIndex = 5
End Sub

2.2. 字体大小

Public Sub main()Dim rng As RangeSet rng = Range("A1")rng.Font.Size = 36
End Sub

2.3. 单元格的宽高

Public Sub main()Dim rng As RangeSet rng = Range("A1")'宽Debug.Print rng.Width'高Debug.Print rng.Height
End Sub

2.4. 单元格的地址

Public Sub main()Dim rng As RangeSet rng = Range("A1")Debug.Print rng.Address(0, 0)
End Sub

2.5. 单元格所在的行号和列号

Public Sub main()Dim rng As RangeSet rng = Range("D5")'行号Debug.Print rng.Row'列号Debug.Print rng.Column
End Sub

2.6. 单元格对象包含的行数和列数

Public Sub main()Dim rng As RangeSet rng = Range("A1:D5")'行数Debug.Print rng.Rows.Count'列数Debug.Print rng.Columns.Count
End Sub

2.7. 单元格合并

1. 单元格合并

Public Sub main()Dim rng As RangeSet rng = Range("A1:C1")rng.Merge
End Sub

2. 单元格合并后,左上角和右下角的地址

Public Sub main()Dim rng As RangeSet rng = Range("C6")Debug.Print rng.MergeArea.Address(0, 0)
End Sub

3. 判断是否包含合并单元格

Public Sub main()Dim rng As RangeSet rng = Range("C6")If rng.MergeCells ThenDebug.Print "单元格是合并单元格"End If
End Sub

2.8. 单元格所属的工作表和工作簿名称

Public Sub main()Dim rng As RangeSet rng = Range("A6")Debug.Print "单元格所属的工作表名称是: " + rng.Parent.NameDebug.Print "单元格所属的工作簿名称是: " + rng.Parent.Parent.Name
End Sub

三、单元格的编辑

3.1. 插入单元格

Public Sub main()Dim rng As RangeSet rng = Range("A2")'在 A2 位置插入一个空的单元格rng.Insert
End Sub

3.2. 删除单元格

Public Sub main()Dim rng As RangeSet rng = Range("A2")'将单元格 A2 删除rng.Delete
End Sub

3.3. 单元格内容换行

单元格内容换行,需要用 Chr(10) 来实现换行的效果

Public Sub main()Dim rng As RangeSet rng = Range("A2")rng.Value = "换" + Chr(10) + "行"
End Sub

3.4. 复制单元格

第一种方式:适合同列按顺序向下复制

Public Sub main()Dim rng As Range'复制第一行,然后从第二行开始一直复制到第六行'包括单元格格式也会被复制Set rng = Range("1:6")rng.FillDown
End Sub

第二种方式:比较自由的复制

Public Sub main()Range("a1:a10").Copy Range("c1")
End Sub

第三种方式:只复制单元格内容,不复制格式

Public Sub main()'将A1至A8的内容复制到C1至C8Range("C1:C8") = Range("A1:A8").Value
End Sub

3.5. 单元格剪切

Public Sub main()Range("a1:a10").Cut Range("c1")
End Sub

3.6. 单元格填充公式

第一种方式:将 Excel 公式赋值给单元格

Public Sub main()Range("d3") = "=SUM(1, 1)"
End Sub

第二种方式:将 Excel 公式的计算结果,赋值给单元格

Public Sub main()Range("D3") = Evaluate("=SUM(1, 1)")Range("D3") = Evaluate("=SUM(B2:B5 * C2:C6)")
End Sub

第三种方式:以函数调用的方式调用公式,并将计算结果赋值给单元格

Public Sub main()Range("D3") = Application.WorksheetFunction.Sum(2, 2)Range("D4") = Application.WorksheetFunction.Sum(Range("B4"), Range("C4"))
End Sub

Excel-VBA 快速上手(八、单元格对象-常见的单元格操作)相关推荐

  1. Excel.VBA 快速删除重复记录

    Excel.VBA 快速删除重复记录 日常工作中的工作表中经常会有重复记录,清除这些重复记录是一个繁琐的工作,即使在排序之后再进行手工筛选,也经常会出现遗漏,而使用VBA代码就可以快速准确地删除重复记 ...

  2. 巧用Excel VBA 快速编排考场座位

    百度文库下载地址: 学校考试考场编排软件(单年级) http://wenku.baidu.com/view/464023029ec3d5bbfc0a740f.html 学校考试考场编排软件(多年级) ...

  3. 用access做考场桌贴_巧用Excel VBA 快速编排考场座位

    百度文库下载地址: 学校考试考场编排软件(单年级) 学校考试考场编排软件(多年级) 学校考试考场编排软件(多年级,文理绲编),请联系作者索要. 更多考试管理系统下载 [摘要]科学的考场座位编排方法可以 ...

  4. vba单元格批量赋值,EXCEL——VBA对文件夹下所有表格的特定单元格赋值

    image 不知道大家有没有遇到过这种情况,一个文件夹下有很多Excel文件,每个文件里面一个或多个表都有一个同样的单元格,比如自己的名字啊.生日啊之类的.这个时候如果要改动这个单元格的内容我们需要一 ...

  5. Excel Vba快速界面设计入门

    一.打开 开发工具->Visual Basic ,进入代码编辑区. 二.双击 ThisWorkbook ,从右侧上部选择 打开事件,并输入代码. Private Sub Workbook_Ope ...

  6. Excel VBA 快速访问 Power Query 表格数据

    1.PowerQuery 可以方便获取外部数据,并进行数据清洗,最后将结果返回到工作表中.每次刷新数据后,工作表中返回的数据的行数不是固定的. 2.在VBA中如何方便地访问PowerQuery返回的表 ...

  7. excel vba 快速显示及隐藏所选数据行,并获取多重选择区地址的行列号

    Sub Macro3() Application.OnKey "^h", "sHide" '仅隐藏选择的行2013.3.15 by lijilin Applic ...

  8. Python代替Excel VBA,原来真的可以

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 春潮带雨晚来急,野渡无人舟自横. ...

  9. Excel VBA 入门(零)

    本教程所用系统环境: Windows 10 Excel 2013 1. 添加开发工具 打开Excel,依然找到"文件"->"选项"->"自 ...

最新文章

  1. B2c商城图片尺寸设定研究 尺寸应该多大合适
  2. 编程之美3.3 计算两个字符串的相似度
  3. centos开启防火墙指定端口
  4. mysql分页查询语法
  5. Android利用广播实现ViewPager中item之间的数据通信
  6. .Net 分布式云平台基础服务建设说明概要
  7. BC div2补题以及 复习模除 逆元__BestCoder Round #78 (div.2)
  8. 手把手教你-如何查询中文期刊是否属于核心期刊!
  9. 准备入手Macbook Pro
  10. Python在Win10系统的安装和使用配置
  11. DB2数据库基本操作
  12. python求三角形的角度
  13. vue中使用web serial api实现串口通信
  14. 使用APKTOOL 反编译APK 失败的解决方法
  15. ggplot绘制时间相关性折线图和面积图(2)
  16. 妖人柴:都移动互联网时代了,为什么还要建网站?
  17. 网络视频监控系统的现状和发展
  18. 使用layui把数据以Excel格式导出
  19. MATLAB 色图函数绘制多彩图形
  20. 基于AI深度学习的缺陷检测系统

热门文章

  1. 乐视还有400多位员工?过着没有老板的神仙日子 官方出来回应了...
  2. cocos creator接入微信登陆sdk ios篇
  3. XSS漏洞的原理与测试解决方案笔记
  4. 2020网易计算机视觉算法实习电话面试
  5. [新奇周边] 内置2400mAh电量 可以充电的手机壳上市【转载:今日头条】
  6. CSS+html:天涯网页仿照制作
  7. 平凡前端之路_05.CSS与CSS3
  8. 可选操作(UnsupportedOperationException)
  9. 作为元宇宙里的潮人,怎能不穿上时髦的数字服装呢?
  10. 英汉小字典java_java 学习案例之英汉字典