亲爱的,我正在尝试用值/公式自动填充列中的单元格范围。主要目的是有宏,将适用于类似的报告,每月将有不同的行数。
我已经录制了一个宏,其中我创建了一个单独的列。在第一个单元格中输入一个值。并通过双击填充柄自动填充整个列。在宏中创建了以下字符串,其中“495”是测试表中最后填充的行号。Selection.AutoFill Destination:=Range("M2:M495")
但是,在这种情况下,当行数大于495时,宏将无法正常工作。为了使其更具动态性,我尝试使用以下代码:Selection.AutoFill Destination:=Range(Selection, Selection.End(xlDown))
在这种情况下,宏进程与整个列,并填补它,直到最后一个单元格(1048576)。不是最好的解决方案。
你能告诉我,在宏中放什么来代替“M495”或“Selection.End(xlDown)”,以便将列填充到表中最后一行吗?
以下是宏的最新版本:
Sub Test6()
Range("E8").Select
ActiveSheet.ListObjects("report_2023_2_21_143341").Unlist
Columns("M:M").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("M1").Select
ActiveCell.FormulaR1C1 = "Count"
Range("M2").Select
ActiveCell.FormulaR1C1 = "=RC[-1]-1"
Range("M2").Select
Selection.AutoFill Destination:=Range(Selection, Selection.End(xlDown))
Range(Selection, ActiveCell.End(xlDown)).Select
Columns("D:D").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("D1").Select
ActiveCell.FormulaR1C1 = "Data"
Range("D2").Select
ActiveCell.FormulaR1C1 = "=RC[-2]+RC[10]"
Range("D2").Select
Selection.AutoFill Destination:=Range(Selection, Selection.End(xlDown))
Range(Selection, Selection.End(xlDown)).Select
Selection.Font.Bold = True
Selection.NumberFormat = "dd/mm/yyyy;@"
End Sub
1条答案
按热度按时间798qvoo81#
您可以尝试使用Cells(Rows.Count,“A”).End(xlUp).Row来获取最后一个非空行,然后开始粘贴