Excel Vba 2007: используйте ссылку внутри countifs

У меня есть это:

ActiveCell.Formula = "=COUNTIFS(G$4:G$" & (i - 1) & _
                     ", Sheets(ActiveSheet.Name).Cells(3, 25).Value ,F$4:F$" & (i - 1) & _
                     ",J4)"

Я хочу использовать это: Sheets(ActiveSheet.Name).Cells(3, 25)

так что я могу сделать цикл для сканирования столбца. так как эта эталонная ячейка должна быть исправлена. но у меня была ошибка, это не работает.

Кто-нибудь, помогите мне, пожалуйста. Большое спасибо


person user372013    schedule 21.06.2010    source источник
comment
эээ... должно быть так: ActiveCell.Formula = =COUNTIFS(G$4:G$ & (i - 1) & , Sheets(ActiveSheet.Name).Cells(3, 25).Value ,F$4:F$ & (i - 1) & ,J4) Но все равно не работает :(   -  person user372013    schedule 21.06.2010


Ответы (2)


Что мешает вам использовать настоящий адрес, $Y$3?


ИЗМЕНИТЬ

Ах. Вы сказали, что хотите, чтобы это значение было исправлено, поэтому я подумал...

Тогда разве вы не делаете то же самое, что и в остальных частях вашей формулы?

ActiveCell.Formula = "=COUNTIFS(G$4:G$" & (i - 1) & _ 
                     ", " & _
                     ActiveSheet.Cells(3, 25).Address(True, True, xlA1) & _
                     ", F$4:F$" & (i - 1) & _ 
                     ", J4)" 
person GSerg    schedule 21.06.2010
comment
Поскольку я использую его в цикле, следующий цикл будет ссылаться на следующий столбец, поэтому я хочу использовать ячейки (m, n), чтобы я мог увеличить n в цикле - person user372013; 21.06.2010
comment
если я использую $Y$3, то я не знаю, как увеличить Y до Z - person user372013; 21.06.2010

Вы можете использовать =CHAR() и =CODE() для букв. «A» может быть представлен как =CHAR(65), поэтому любая буква равна 64 + (буква алфавита), поэтому Y =CHAR(89).

Если вы хотите перейти на один столбец от "Y", вы можете использовать CHAR(CODE("Y")+1) = "Z".

Кроме того, CHAR(cells.column) даст вам букву столбца (при условии, что вы используете весь лист).

Надеюсь, это имеет смысл. :)

person floatingLomas    schedule 30.06.2010