VBA实例04:快速填充(模仿Excel双击填充柄效果)

需求

经常会遇到这种情况,每次想用自动填充功能的时候,还需要双手离开键盘,使用鼠标或者触摸板双击填充柄,感觉很费劲。

实现方法

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)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。