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

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

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

这是抛出错误。 我如何select列P中的最后一列?

如果公式已经在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 

要select最后一个单元格,总是从表单的底部向上,而不是从顶部向下,这是因为任何空白行将停止向您提供假行号的第一个位置。

 lastcell_number = Range("C" & Rows.Count).End(xlup).row 

另外请注意,你不需要select它来找出它是什么。 通常情况下,您实际上需要select内部代码的情况非常less。

这个:

 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