笔记摘抄自EXCEL精英培训-蓝色幻想
1 表示一个单元格(a1)
2 表示相邻单元格区域
3 表示不相邻的单元格区域
(1) 判断是否为空单元格
(2) 判断是否为数字
(3) 判断是否为文本
(4) 判断是否为汉字
2.设置单元格自定义格式
3.按指定格式从单元格返回数值
Format函数语法(和工作表数Text用法基本一致)
五、设置Excel中的颜色
Excel中的颜色可以用两种方式获取,一种是EXCEL内置颜色,另一种是利用QBCOLOR函数返回
2.合并区域的返回信息
3.判断是否含合并单元格
(2)插入行并复制公式
(3)如不相同,则插入一行
(4)相同部门插入小计汇总
1 使用循环查找 (在单元格中查找效率太低)
Sub c1() 判断是否存在,并查找所在行数
MsgBox "该入库单号码已经存在,请不要重复录入"
4 返回最下一行非空行的行数
Sub c3() 返回最下一行非空行的行数
MsgBox "该单据号码已经存在!,请不要重复录入"
1、什么是VBA数组呢?
VBA数组就是储存一组数据的数据空间?数据类型可以数字,可以是文本,可以是对象,也可以是VBA数组.
2 VBA数组存在形态
VBA数组是以变量形式存放的一个空间,它也有行有列,也可以是三维空间。
1)按编号(标)写入和读取
Sub t2() 向二维数组写入数据和读取
在内存中读取后用于继续运算,直接用下面的格式
数组是用编号排序的,那么如何获得一个数组的大小呢
Lbound(数组) 可以获取数组的最小下标(编号)
Ubound(数组) 可以获取数组的最大上标(编号)
Ubound(数组,1) 可以获得数组的行方面(第1维)最大上标
Ubound(数组,2) 可以获得数组的列方向(第2维)的最大上标
2、动态数组的动态扩充
如果一个数组无法或不方便计算出总的大小,而在一些特殊情况下又不允许有空位。这时我们就需要用动态的导入方法
ReDim Preserve arr() 可以声明一个动态大小的数组,而且可以保留原来的数值,就相当于厂房小了,可以改扩建增大,但是它只能 让最未维实现动态,如果是一维不存在最未维,只有一维
清空数组使用erase语句
四、可以生成数组的函数
按分隔符把字符串截取成VBA数组,该数组是一维数组,编号从0开始
2、Filter函数:只能模糊匹配
按条件筛选符合条件的值组成一个新的数组
注:如果是(true)则返回包含的数组,如果否则返回非包含的数组
调用该工作表函数可以把二维数组的某一列或某一行截取出来,构成一个新的数组。
Vlookup函数的第一个参数可以用VBA数组,返回的也是一个VBA数组
Countif和sumif函数的第二个参数都可以使用数组,所以也可以返回一个VBA数组,如:
1.金额大于500填上红色
'数组也可以设置格式?
'数组除了数字类型外,当然没有颜色、字体等格式,但是别忘了range对象可以表示多个连续或不连续的单元格区域
'利用上述特点,我们就是要数组构造单元格地址串,然后批量对单元格进行格式设置。
'注意,单元格地址串不能>255,所以如果单元格操作过多,我们还需要分次分批设置单元格格式
counta和count函数可以统计VBA数组的数字个数及所有已填充内容的个数
'按分隔符把字符串截取成VBA数组,该数组是一维数组,编号从0开始
'按条件筛选符合条件的值组成一个新的数组
'注:如果是(true)则返回包含的数组,如果否则返回非包含的数组
'调用该工作表函数可以把二维数组的某一列或某一行截取出来,构成一个新的数组。
'Vlookup函数的第一个参数可以用VBA数组,返回的也是一个VBA数组
'Countif和sumif函数的第二个参数都可以使用数组,所以也可以返回一个VBA数组,如:
Sub 插入排序单元格演示() Sub 希尔排序单元格演示() Sub 选择排序单元格演示()
1 什么是VBA字典?
字典(dictionary)是一个储存数据的小仓库。共有两列。
第一列叫key , 不允许有重复的元素。
第二列是item,每一个key对应一个item,本列允许为重复
2 即然有数组,为什么还要学字典?
原因:提速,具体表现在
1) A列只能装入非重复的元素,利用这个特点可以很方便的提取不重复的值
2) 每一个key对应一个唯一的item,只要指点key的值,就可以马上返回其对应的item,利用字典可以实现快速的查找
字典只有两列,如果要处理多列的数据,还需要通过字符串的组合和拆分来实现。
字典调用会耗费一定时间,如果是数据量不大,字典的优势就无法体现出来。
Sub 提取不重复的产品()
Sub 下棋法之多列汇总()
Sub 下棋法之多条件多列汇总()
Sub 下棋法之数据透视表式汇总()