也许会在不经意间就滑入了遗忘的角落,但在某一天,重又出现在脑海中,乘风破浪,惊喜万分的,不只自己,还有那,无从诉说的世界。

240418-21.57-vba-自动填充脚本

240418-21.57-vba-自动填充脚本

根据自己使用需要,编写的一个方便进行自动填充的vba脚本,丢失过几次,这里做个备份吧。


from::

内容


Sub AutoFill()
'
' 宏名称:AutoFill
' 修订日期:240418
' 作者: [Timace](https://www.cnblogs.com/timace)
' 说明:可选中多行多列的区域单元格,进行默认填充到已使用区域底部。
'      如:A1:B10 已经有内容,在C1:C2 是1、2,D1:D2是公式,选中C1:D2,然后Alt+F8,运行该脚本,就会对C1:D10自动填充,C1:C10会按等差数列填充,D1:D10会按D1:D2的公式进行默认填充。

'
    Dim vRows, vRowsA, vRowsB, vRowsUsed, vR As Long

    vRowsA = ActiveSheet.[A65535].End(xlUp).Row
    vRowsB = ActiveSheet.[B65535].End(xlUp).Row
    vRowsUsed = ActiveSheet.UsedRange.Rows.Count
    
    vR = ActiveCell.Row
    vCs = Selection.Columns.Count
    ' calc max used rows
    If vRowsA > vRowsB Then
        vRows = vRowsA
    Else
        vRows = vRowsB
    End If
    
    If vRowsUsed > vRows Then
        vRows = vRowsUsed
    End If
    
    'ActiveCell.Select
    Selection.AutoFill Destination:=ActiveCell.Range(Cells(1, 1), Cells(vRows - vR + 1, vCs)), Type:= _
        xlFillDefault
    ActiveCell.Range("A1").Select
End Sub


posted @ 2024-04-18 22:45  Timace  阅读(12)  评论(0编辑  收藏  举报