工作中有时候需要将无重复的表转换为有重复的表。有很多方法,此处我们探讨使用VBA向下填充空白单元格的方法。
1.需求范例
公司要发工资条,个人存一份,公司留一份。将下表每行数据复制为2行。
2.基本思路
根据第一列单元格是否有数据进行判断:如果为空,则需要将前一行数据复制下来;如果不为空,则跳过。
3.VBA实现
Public Sub 向下填充空白单元格()
Dim wb As Workbook '工作簿变量
Dim ws As Worksheet '工作表变量
Dim i As Integer '循环变量
Set wb = Workbooks(1) '设置要操作的工作簿为当前激活的工作簿
Set ws = Worksheets("Sheet1") '设置要操作的工作表
ws.Activate '激活工作表
For i = 2 To 217 '表格含标题行,从第2行开始,到结束行
If Cells(i, 1).value = "" Then '已当前行第一列为依据判断,如果为空,则将上一行数据复制到当前行
Cells(i, 1).value = Cells(i - 1, 1).value
Cells(i, 2).value = Cells(i - 1, 2).value
Cells(i, 3).value = Cells(i - 1, 3).value
Else '首列单元格不为空,则当前行有数据,不做任何操作
'DoNothing
End If
Next i
Set ws = Nothing '释放工作表变量
Set wb = Nothing '释放工作簿变量
End Sub
4.运行效果
5.其他实现方法
选中要填充的区域和其上一行,CTRL+G -> 定位条件 -> 空值 ->确定 -> 在默认的第一个单元格输入"="->按向上箭头-> CTRL+ENTER -> Done.
excel
拆分
使用行数划分
excel
vba
脚本######################################### ########您可以通过helper列来做到这一点:
1st-在左侧插入一列(即A列)。
2nd-
填充
从1到3000的系列中的新列(或无论您有多少行)。
第三-在A列系列末尾下方的两个
单元格
中,分别输入100.5和200.5。 突出显示这些
单元格
,然后使用Ctrl + Shift +
向下
箭头并选择“
填充
系列”(将步长值保留为100)
第四-升序排序列A.
第五-删除A列。每100行将有一个
空白
行,剩下的还有其他内容。
【公农双历查询】:生成多功能日历,可以查询所有节、假日和农历
【高级定位】:多功能选择(查找)工具。可以选择大于某值或者小于某值或者在某范围之间的值,文本定位时支持通配符。还可以按格式查找/定位
【背景着色】:将当前或者列进行颜色标示,以突出显示,有利于数据查看。可以随心所欲地定义颜色,还可以自由调整颜色的深浅。本工具相对于同类工具有不破坏背景色、条件格式、复制粘贴和撤消功能之优点
【环境设置】:设置工作表界面视图,控制各项目的显示与隐藏
【隐藏任意磁盘】:将磁盘隐藏,保所隐私文件
【按颜色汇总】:按背景色对选区的数据合类合计
【解除密码保护】:删除工作表保护的密码,瞬间完成。适用于
Excel
2002、2003、2007、2010
【显示经典菜单】:在
Excel
2007或者2010中显示2003样式的菜单,方便初学
Excel
2007或2010的用户查找菜单
【截取窗口对象】:将选定的窗口或者对象转换成图片文件,可截
Excel
界面和其它任意界面
【截取矩形对象】:将选定的矩形区域转换成图片文件
【截取任意区域】:将选定任意区域转换成图片文件
【删除空
单元格
】:删除选区的空
单元格
,后面的数据
自动
上升
【转置选区】:将选区行列调换
【按列倒置】:将选区的数据横向倒置
【按列倒置】:将选区的数据纵向倒置
【字母大小写转换】:将选区的单词、字母在大写小写、首字母大写之间转换
【中英翻译】:将选区进行中英互译,如果选择英文则转换成中文;如果选择中文则转换成英文
【小写金额转大写】:将小写金额批量转换成大写
【大写金额转小写】:将大写金额批量转换成小写
【区域数据加密】:对工作表选区的数据进行加密,转换成乱码,有密码才可以查看。
【简体转繁体】:将简体字批量转换成繁体
【繁体转简体】:将繁体字批量转换成简体
【将公式转换成值】:将指定工作表中指定区域的公式转换成值,可以自由选择工作表和
单元格
范围。
【根据工资计算钞票】:根据员工的工资计算需要多少张100元、50元......1元的钞票,可以批量计算。发现金工资的财务工作者必备
【隔行插入行】:对工作表隔行插入行,或者隔列插入列,其中行数可以自定义
【折分工作簿】:将指定工作簿的每个工作表拆分成单独的工作簿,新工作簿名称等于原工作表名称
【工作表折分】:将当前工作表的数据按条件拆分成多个工作表,可以用任意列的数据做为拆分条件
【合并工作簿】:将指文件夹中所有工作簿中所有工作表数据合并起来。有两种合并方式:将每个工作簿中的工作表合到当前工作簿是,表与表对应;将不同工作簿中同工作表的数据合并到同一工作表中。差异在于同名工作表的处理
【文本与数值互换】:将选区的数字瞬间转换成文本;将选区的文本型数字瞬间转换成数值
【复选框工具】:批量生成复选框(方框中打勾的工具),批量选定、取消复选框。且可以定义复框是否可以打印、与
单元格
链接等等
【报表分栏工具箱】:Word有分栏功能,本工具使
Excel
也具有同类功能。当数据列数太少浪费打印纸张时,可以用本工具分成多栏再打印
【制作工资条】:瞬间将工资明细表生成工资条,方便打印并裁剪。可以自己定义工资条头的行数
【删除工资条恢复明细表】:删除前一工具生成的工资条头,恢复明细表
【建立分页小计】:将每页数据建立小计和累计,且
自动
分页,小计和累计在每页最末处
【删除分页小计】:删除小计与累计,恢复明细表
【合并到选区】:将一个
单元格
的值合到一个区域中去,可以插入到原字符之前也可以插入到原字符之后
【可还原的合并居中】:合并数据时可以保留所有数据,可以随心所欲定义分隔符。还可以随时取消合并,还原所有数据
【合并列中相同值】:对一列中相同且相邻的数据区域进行合并居中
【取消合并还原合并数据】:对一列中合并后的
单元格
取消合并,且恢复合并前所有数据
【合并数据并复制】:可以将一个区域的数据直接复制到一个
单元格
中
【合并区域
自动
换行】:可以让具有合并
单元格
的区域在
自动
换行与不换行之间自由切换
【选择合并
单元格
】:选择指定区域中的所有合并区域
【让合并
单元格
合理分页】:如果合并
单元格
已跨页,打印时会造成合并区域的值仅显示在一页中,另一页
空白
;或者两页各显示一部分,本工具用于调整合并
单元格
,使其字符同时显示在两页中
【增强版跨越合并】:对选区批量逐行合并,合并时保留所有数据
【修正合并
单元格
】:使已经合并的区域中的每个
单元格
都有数据,从而在公式引用
单元格
时不会产生
空白
【合并与合计】:可以任意指定两列,对其中一列的数据合并同类项,而另一列对应的数值则求合计,合计结果存放在合并区域中
【建立图片目录】:
从
代码
中可以看出,
VBA
使用了FillDown方法对所选
单元格
区域进行
向下
填充
。
熟悉
VBA
的朋友可以将上述
代码
简化如下,达到同样的效果。
Sub testFillDown1()
Range('A1
excel
表中需要多列需要
填充
公式,但是需要
填充
的表有几个、行记录数总变,因此自己编写了这个
宏
。
代码
中:一个函数负责获取每个表的有效记录最大行数,一个函数负责
填充
公式。调用的Sub是一个应用实例。
使用前建议用录制
宏
获得需要
填充
的公式。
本人在一个测试用例
excel
-word转换简易工具中应用这个实现记录完整
填充
。
在Excle中,需要
填充
单元格
,直接下拉,然后即可
填充
,但是使用
VBA
代码
又该如何实现这个呢?
代码
区域Public Sub 快速
填充
()
Dim myRange As range
Cells.Clear '清除所有表格数据
Set myRange = range("A1:A12")
With myRange.Cells(1)
.Value ...
VBA
下拉
填充
如何利用
VBA
实现
单元格
计算的下拉
填充
代码
实现
如何利用
VBA
实现
单元格
计算的下拉
填充
针对每次行数不同的数据和计算公式,如何做到利用
VBA
对每次行数不同的计算进行下拉
填充
至最后一行。
代码
实现
假设A1至A4存在数据,想在B列对A列数据进行autofill.
Sub
宏
1()
Dim r As Long
r = Cells(Rows.Count, "A").End(3).Row
[B1].AutoFill Destination:=Range("B1:B" & r)
本函数无需对关键字进行排序操作,就能实现在某个区域查找某个关键字,并根据关键字对应的值
自动
填充
到对应的
单元格
里面。
典型的案例是:学生成绩册和考勤册不一致的情况(比如学号不对应,退学后学号空缺情况),要根据考勤表学生成绩输入到另一张表中。比如有一张表如下:
今天被“刀”了一整天,身心俱疲……老是在最后1毛钱上做文章的PDD是多么的可恶……虽然,我的微信通讯录里的人也被我“刀”了个遍,好想跟他们说:“是兄弟你就来砍我!!!一刀 ¥0.01” ,最后还得拉个新人……K.F.C
距离卸载 PDD 还有……
文章目录误会疑问
宏
名养成注释的习惯不要偷懒性能吃紧能不for就不forwps js
宏
能用的 JS 库多录制点
宏
录制的
宏
并不总是可用加载项最好选择在线发布保证离线可用加载项的限制不要过多占用软件菜单 Tab 区局域网内使用能被称当成
宏
的只有 function
代码
.
Technorati Tags:
Excel
,Marco,Auto Fill,Shortcut Key,
Excel
宏
,
自动
填充
,快捷键
Microsoft
Excel
提供了丰富的快捷键,使得操作电子表格十分方便,尤其是在操作很大,很长的表时。
Excel
的
自动
填充
功能,使得复制
单元格
内容、公式和
填充
序列的操作变得简单。但是,
Excel
只提供了通过拖动
填充
柄来实现
填充
,并没有为
自动
填充
提...
Sub FillBlanksRed() ' 定义一个名称为FillBlanksRed的
宏
Dim ws As Worksheet ' 定义一个工作表变量
For Each ws In ActiveWorkbook.Worksheets ' 循环遍历当前工作簿中的所有工作表
ws.Range("E3:J23").SpecialCells(xlCellTypeBlanks).Interior.ColorIndex = 3 ' 将E3至J23
单元格
之间,所有无数字、文字或公式的
单元格
填充
红色
Next ws
End Sub
注释已经写在
代码
中,您可以直接复制粘贴到
VBA
编辑器中。如果您想了解更多关于
VBA
的知识,可以在CSDN上搜索相关文章。
myPath = ThisWorkbook.Path & "\证件照\" & pName & ".JPG"
正文代码中文件路径应改为上面这一行,以当前工作簿所在目录为根目录,访问子目录中的文件。
感谢反馈的小伙伴!