我在C2:K11中有数据,我需要使用数据自动向下填充到下一行。
这是我到目前为止可以成功使用的功能,唯一的问题是它正在复制到指定的范围,即C13:K22,而不是填写所有单元格。
Sub CopyStandardFacilitiesDown()
Sheets("Facilities").Range("C3:K12").Copy
Range("C13:K22").Select 'Last used cell in column c
Cells(Rows.Count, 3).End(xlUp).Row ActiveSheet.Paste Application.CutCopyMode = False
End Sub
当我尝试通过以下方式使用动态范围时,我只能向下复制一个单元格,而不能将我的整个范围复制到所有其他单元格中。
Selection.AutoFill Destination:=Range("AY2:AY" & Range("E" & Rows.Count).End(xlUp).Row)
Range(Selection, Selection.End(xlDown)).Select
理想情况下,C3:K11会被复制并应用于每个“组织名称”
这是所需最终结果的图片
答案 0 :(得分:0)
那样的事情怎么样?
Sub autofilldown()
Dim ws As Worksheet
Set ws = ActiveWorkbook.Worksheets("Facilities") 'instead of Active.Workbook you should use the name of the workbook you are working on
Dim LR As Long 'LR stands for last row
LR = ws.Cells(Rows.Count, "B").End(xlUp).Row 'it will autofill down as long as there is something in corresponding cell in column B
With ws
.Range("C12").AutoFill Destination:=.Range("C12:C" & LR), Type:=xlFillDefault
.Range("D12").AutoFill Destination:=.Range("D12:D" & LR), Type:=xlFillDefault
.Range("E12").AutoFill Destination:=.Range("E12:E" & LR), Type:=xlFillDefault
.Range("F12").AutoFill Destination:=.Range("F12:F" & LR), Type:=xlFillDefault
.Range("G12").AutoFill Destination:=.Range("G12:G" & LR), Type:=xlFillDefault
.Range("H12").AutoFill Destination:=.Range("H12:H" & LR), Type:=xlFillDefault
.Range("I12").AutoFill Destination:=.Range("I12:I" & LR), Type:=xlFillDefault
.Range("J12").AutoFill Destination:=.Range("J12:J" & LR), Type:=xlFillDefault
.Range("K12").AutoFill Destination:=.Range("K12:K" & LR), Type:=xlFillDefault
End With
End Sub
这应该自动填充第12行中的公式,直到B列中最后一个非空单元格。