需求
经常会遇到这种情况,每次想用自动填充功能的时候,还需要双手离开键盘,使用鼠标或者触摸板双击填充柄,感觉很费劲。
实现方法
1. 获取要进行自动填充的单元格
- 获取要填充列的起始行行号
- 获取要填充列的结束行行号
- 获取要填充列的列号
2. 自动填充
自动填充主要模拟两种情况
- 复制单元格
-
填充序列
代码
快速填充-复制单元格
Sub AutoFillCopy()
'
'line_number :行数
'initial_line :起始行行号
'end_line :结束行行号
'column_number:列号
line_number = Selection.CurrentRegion.Rows.Count
initial_line = Selection.Row
end_line = initial_line + line_number - 1
column_number = Selection.Column
Selection.AutoFill Destination:=Range(Cells(initial_line, column_number), Cells(end_line, column_number))
End Sub
快速填充-填充序列
Sub AutoFillSeries()
'
'line_number :行数
'initial_line :起始行行号
'end_line :结束行行号
'column_number:列号
line_number = Selection.CurrentRegion.Rows.Count
initial_line = Selection.Row
end_line = initial_line + line_number - 1
column_number = Selection.Column
Selection.AutoFill Destination:=Range(Cells(initial_line, column_number), Cells(end_line, column_number)), Type:=xlFillSeries
End Sub
参考
[1] ExcelHome:用什么快捷键 可以代替右下角双击黑十字的效果
[2] 微软VBA开发文档:Range.AutoFill method (Excel)