乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > excel在线编辑-Excel VBA 学习笔记14:单元格编辑示例

excel在线编辑-Excel VBA 学习笔记14:单元格编辑示例

作者:乔山办公网日期:

返回目录:excel表格制作

声明:本系列文章是学习蓝色幻想视频和《别怕,Excel VBA其实很简单》的笔记总结,知识版权归上述两作品所有,图片均来自蓝色幻想视频。



一、单元格输入

1. 单元格输入



&符号是连接符,能将前后内容连接到一起,注意,变量不需要加双引号,非变量记得加双引号。


ASCII码10代表换行符,即alt+enter,13代表回车,32代表空格。这些常见的希望大家能有个印象。


2. 单元格复制和剪切



用copy方法可以将选中内容复制到剪切板,然后指定目标区域的顶点即可,这是复制粘贴的基础知识,后面会逐步增加些新的知识点。



粘贴到当前活动表格的D1单元格。



选择性粘贴,只有值,具体每种选择性粘贴用哪个代码请大家自己录制宏比较一下代码。


Range.PasteSpecial 方法


将 Range 从剪贴板粘贴到指定的区域中。


语法


表达式.PasteSpecial(Paste, Operation, SkipBlanks, Transpose)


表达式 一个代表 Range 对象的变量。


参数


名称 必选/可选 数据类型 说明


Paste 可选 XlPasteType 要粘贴的区域部分。


Operation 可选 XlPasteSpecialOperation 粘贴操作。


SkipBlanks 可选 Variant 如果为 True,则不将剪贴板上区域中的空白单元格粘贴到目标区域中。默认值为 False。


Transpose 可选 Variant 如果为 True,则在粘贴区域时转置行和列。默认值为 False。


================


XlPasteType


名称 值 说明


xlPasteAll -4104 粘贴全部内容。


xlPasteAllExceptBorders - 7 粘贴除边框外的全部内容。


xlPasteAllMergingConditionalFormats -14 将粘贴所有内容,并且将合并条件格式。


xlPasteAllUsingSourceTheme -13 使用源主题粘贴全部内容。


xlPasteColumnWidths -8 粘贴复制的列宽。


xlPasteComments -4144 粘贴批注。


xlPasteFormats -4122 粘贴复制的源格式。


xlPasteFormulas -4123 粘贴公式。


xlPasteFormulasAndNumberFormats -11 粘贴公式和数字格式。


xlPasteValidation -6 粘贴有效性。


xlPasteValues -4163 粘贴值。


xlPasteValuesAndNumberFormats 12 粘贴值和数字格式。


======


XlPasteSpecialOperation


名称 值 说明


xlPasteSpecialOperationAdd -2 复制的数据与目标单元格中的值相加。


xlPasteSpecialOperationDivide -5 复制的数据除以目标单元格中的值。


xlPasteSpecialOperationMultiply -4 复制的数据乘以目标单元格中的值。


xlPasteSpecialOperationNone -4142 粘贴操作中不执行任何计算。


xlPasteSpecialOperationSubtract -3 复制的数据减去目标单元格中的值。



剪切的用法。



在使用选择性粘贴的时候非常赞的一个功能,直接将剪切板上的数据跟原数据相加,不需要设置辅助列。



这个例子就不再是复制的代码了,但是同样实现了复制数值的功能。


3. 填充公式



填充柄是Excel利用率非常高的操作,VBA中实现也很简单,就是定好要填充的区域,向下用FillDown,向右用FillRight。注意,如果自定义公式填充的话,起始位置一定要有公式!


二、单元格行列的删除和插入

这里我们做一个稍微大一点的例子,从学习插入行和列开始,一步一步到实现数据分类汇总。


1.插入行



基础语法,学起来。在第4行前插入一行。记住,默认情况下,插入操作跟手动操作表格一样,都是在选中的行或列以前插入。要插入多行或列,跟手动操作一样,你选中几个就一次插入几个,比如Rows(4:10).Insert Shift:=xlDown,插入了7行。


2.插入行并复制公式



继续深入探究,在第4行前面插入一行,现在空白行是第4行,原来的第4行成了第5行,要把第3行公式复制填充下来,并且定位第4行的空单元格。Range的SpecialCells就相当于Ctrl + G 定位,xlCellTypeConstants是指含有常量的单元格。


3.插入多个空白行



要做分类汇总就要实现每一个类别下面都插入一行。这里判断出值不一样的地方,然后插入了一行,但是要注意新插入的那行会占用一个行号。有多少类就会插入多少行,所以x的循环值要设置的比表格多很多,而且这里不能用变量,因为插入一行整个表格会多一行。


4.分类汇总


(1)实现简单的分类汇总



我们将前面学的慢慢组装到一起,来实现简单的分类汇总功能。上面提到x的循环范围要比表格真实行数多,以免分类多插入行数多造成有的数据没有被汇总到。这段代码的思路比较直观,用两个变量m1和m2存储当前分类的开始位置和结束位置,然后汇总m1到m2之间的数值,其中用到了向右填充。m1的初始值很好确定,是表格固定好的,关键在于第一类汇总完,从第二类开始怎么表示,图中有注释,请大家仔细思考。


(2)蓝色幻想个人方法



前面我们的代码有个问题,已经提到两次了,x的循环值要人为设置的比表格真实值大,可是我怎么知道该设置多大,难不成每次都循环到65536吗?蓝色幻想给了他的个人办法,这也是编程吸引我的地方,你要不断的去思考,总有更好的办法解决问题!跟上节课合并单元格一样,我们倒着循环。具体代码可能稍微有些难度,等看的多了就理解了。


(3)删除汇总行



分类汇总完了要把汇总行删除,我们用的定位A列空白单元格的方式,然后删除整行,这个方法适用于很多场合。



Excel VBA 学习笔记13:单元格的格式


Excel VBA 学习笔记12:单元格信息


Excel VBA 学习笔记11:特殊单元格定位


Excel VBA 学习笔记10:单元格的选取


相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网