Excel-VBA 快速上手(八、单元格对象-常见的单元格操作)
文章目录
- 一. 单元格的内容
- 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 快速上手(八、单元格对象-常见的单元格操作)相关推荐
- Excel.VBA 快速删除重复记录
Excel.VBA 快速删除重复记录 日常工作中的工作表中经常会有重复记录,清除这些重复记录是一个繁琐的工作,即使在排序之后再进行手工筛选,也经常会出现遗漏,而使用VBA代码就可以快速准确地删除重复记 ...
- 巧用Excel VBA 快速编排考场座位
百度文库下载地址: 学校考试考场编排软件(单年级) http://wenku.baidu.com/view/464023029ec3d5bbfc0a740f.html 学校考试考场编排软件(多年级) ...
- 用access做考场桌贴_巧用Excel VBA 快速编排考场座位
百度文库下载地址: 学校考试考场编排软件(单年级) 学校考试考场编排软件(多年级) 学校考试考场编排软件(多年级,文理绲编),请联系作者索要. 更多考试管理系统下载 [摘要]科学的考场座位编排方法可以 ...
- vba单元格批量赋值,EXCEL——VBA对文件夹下所有表格的特定单元格赋值
image 不知道大家有没有遇到过这种情况,一个文件夹下有很多Excel文件,每个文件里面一个或多个表都有一个同样的单元格,比如自己的名字啊.生日啊之类的.这个时候如果要改动这个单元格的内容我们需要一 ...
- Excel Vba快速界面设计入门
一.打开 开发工具->Visual Basic ,进入代码编辑区. 二.双击 ThisWorkbook ,从右侧上部选择 打开事件,并输入代码. Private Sub Workbook_Ope ...
- Excel VBA 快速访问 Power Query 表格数据
1.PowerQuery 可以方便获取外部数据,并进行数据清洗,最后将结果返回到工作表中.每次刷新数据后,工作表中返回的数据的行数不是固定的. 2.在VBA中如何方便地访问PowerQuery返回的表 ...
- excel vba 快速显示及隐藏所选数据行,并获取多重选择区地址的行列号
Sub Macro3() Application.OnKey "^h", "sHide" '仅隐藏选择的行2013.3.15 by lijilin Applic ...
- Python代替Excel VBA,原来真的可以
点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 春潮带雨晚来急,野渡无人舟自横. ...
- Excel VBA 入门(零)
本教程所用系统环境: Windows 10 Excel 2013 1. 添加开发工具 打开Excel,依然找到"文件"->"选项"->"自 ...
最新文章
- B2c商城图片尺寸设定研究 尺寸应该多大合适
- 编程之美3.3 计算两个字符串的相似度
- centos开启防火墙指定端口
- mysql分页查询语法
- Android利用广播实现ViewPager中item之间的数据通信
- .Net 分布式云平台基础服务建设说明概要
- BC div2补题以及 复习模除 逆元__BestCoder Round #78 (div.2)
- 手把手教你-如何查询中文期刊是否属于核心期刊!
- 准备入手Macbook Pro
- Python在Win10系统的安装和使用配置
- DB2数据库基本操作
- python求三角形的角度
- vue中使用web serial api实现串口通信
- 使用APKTOOL 反编译APK 失败的解决方法
- ggplot绘制时间相关性折线图和面积图(2)
- 妖人柴:都移动互联网时代了,为什么还要建网站?
- 网络视频监控系统的现状和发展
- 使用layui把数据以Excel格式导出
- MATLAB 色图函数绘制多彩图形
- 基于AI深度学习的缺陷检测系统
热门文章
- 乐视还有400多位员工?过着没有老板的神仙日子 官方出来回应了...
- cocos creator接入微信登陆sdk ios篇
- XSS漏洞的原理与测试解决方案笔记
- 2020网易计算机视觉算法实习电话面试
- [新奇周边] 内置2400mAh电量 可以充电的手机壳上市【转载:今日头条】
- CSS+html:天涯网页仿照制作
- 平凡前端之路_05.CSS与CSS3
- 可选操作(UnsupportedOperationException)
- 作为元宇宙里的潮人,怎能不穿上时髦的数字服装呢?
- 英汉小字典java_java 学习案例之英汉字典