2015-11-22 3 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

Если формула уже в Р2, то,

with worksheets("Sheet1") 
    .range(.cells(2, 3), .cells(rows.count, 3).end(xlup)).offset(0, 13).formula = _ 
     .range("P2").formula 
end with 

Если формула уже не в Р2, то,

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 
Смежные вопросы