我看過幾篇文章展示了如何使用指定的單元格范圍執行此操作,但我需要能夠使用可變范圍(無論選擇什么范圍)來執行此操作。我在我的宏中,有兩個相鄰的單元格,需要根據 A 列的距離將公式復制到表的末尾(活動單元格在 B 列和 C 列中)。我正在嘗試的代碼如下:
ActiveCell.Resize(1, 2).Select <--Selects the two cells containing a formula in columns B and C.
Set rng = Selection
Selection.AutoFill Destination:=Range("rng" & Range("A" & Rows.Count).End(xlUp).Row)
Range(Selection, Selection.End(xlDown)).Select
這給出了一個錯誤。我認為問題出在“rng”上,但我不能指定類似“3B:50C”的內容,因為每次運行時,B 列和 C 列中的起始點單元格都可能是不同的行。任何幫助,將不勝感激。非常感謝!
uj5u.com熱心網友回復:
像這樣:
Dim lr As Long, ws As Worksheet, c As Range
If TypeName(Selection) <> "Range" Then Exit Sub 'make sure a range is selected
Set c = Selection.Cells(1) 'get the top-left cell
Set ws = c.Worksheet 'parent worksheet
lr = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row 'last occupied row in ColA
c.Resize(1, 2).AutoFill Destination:=ws.Range(ActiveCell, ws.Cells(lr, c.Column 1))
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/461211.html
上一篇:如何確保我的代碼始終正常運行
下一篇:在Excel中使用PowerQuery決議JSON,其方式與FetchJson在Google表格中的處理方式相同
