如何在excel VBA中选择一个单元格?

时间:2015-11-22 17:32:09

标签: excel vba excel-vba

我在单元格P2中应用了一些公式。我想在该列P的所有单元格中应用相同的公式(如ctrl + D),直到我在C列中有值。

Range("C1").Select
Selection.End(xlDown).Select
lastcell_number = ActiveCell.Row
Range("P",lastcell_number).Select.

这是投掷错误。如何选择P列中的最后一列?

2 个答案:

答案 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