2015-11-22 86 views
1

我在单元格P2中应用了一些公式。我想申请相同的公式(如Ctrl + d)在该列P均细胞,直到我在C列如何在Excel VBA中选择单元格?

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

它抛出错误所值。我如何选择列P中的最后一列?

回答

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 
+0

谢谢。有用, – Hideandseek

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