我在单元格P2中应用了一些公式。我想在该列P的所有单元格中应用相同的公式(如ctrl + D),直到我在C列中有值。
Range("C1").Select
Selection.End(xlDown).Select
lastcell_number = ActiveCell.Row
Range("P",lastcell_number).Select.
这是投掷错误。如何选择P列中的最后一列?
答案 0 :(得分:3)
如果公式已经在P2中,那么
with worksheets("Sheet1")
.range(.cells(2, 3), .cells(rows.count, 3).end(xlup)).offset(0, 13).formula = _
.range("P2").formula
end with
如果公式尚未在P2中,那么
with worksheets("Sheet1")
.range(.cells(2, 3), .cells(rows.count, 3).end(xlup)).offset(0, 13).formula = _
"=SUM(A2:O2)" '<~~put your own formula here
end with
答案 1 :(得分:0)
要选择最后一个单元格总是从工作表底部向上而不是从顶部向下,这是因为任何空白行都将是它停止给您一个错误行号的第一个位置。
lastcell_number = Range("C" & Rows.Count).End(xlup).row
另请注意,您无需选择它以查明它是什么。通常情况下,您实际需要选择内部代码的情况非常少。
此:
Range("A1").select
MyStr = Selection.text
Range("B1").select
Selection.Formula = MyStr
可写成:
MyStr = Range("A1").text
Range("B1").Formula = MyStr
假设您在代码中的任何其他地方都不需要MyStr,那么它可以再次压缩到此:
Range("B1").Formula = Range("A1").text