MyTetra Share
Делитесь знаниями!
4. Формулы
09.12.2017
17:54
Раздел: VBA - Словарь VBA

С помощью VBA можно вписывать любые формулы в ячейки, но тут есть два важных момента.

1. VBA понимает только английский синтаксис формул. То есть все названия формул должны быть на английском (if вместо если и т.п.). Внутри формулы тоже применяются английские стандарты, т.е. вместо запятой используется точка, вместо точки с запятой - запятая (например, IF(A2<2.5, 1, 0). Формла автоматически поменяется под русские стандарты, и пользователь будет видеть её в ячейке в привычном формате.

2. При работе с формулами можно использовать два стандарта ссылок - абсолютный (например, A2) и относительный (R1C2). Если вы воспользуетесь макрорекордером, формула будет записана в относительном формате, т.е. например так:

ActiveCell.FormulaR1C1 = "=IF(R[7]C[-9]=3,1,0)"

 

Чтобы воспользоваться более привычным форматом, надо записать так:

ActiveCell.Formula = "=IF(A2=3,1,0)"

 

 

Вот некоторые названия функций на английском:

СУММ  =  SUM 

СРЗНАЧ  =  AVERAGE

ВПР  =  VLOOKUP

СУММЕСЛИ  =  SUMIF

СЧЁТЕСЛИ  =  COUNTIF

ОКРУГЛ  =  ROUND

ОКРУГЛВВЕРХ  =  ROUNDUP

ОКРУГЛВНИЗ  =  ROUNDDOWN

СЕГОДНЯ  =  TODAY

ГОД  =  YEAR

СЦЕПИТЬ  =  CONCATENATE

 
MyTetra Share v.0.52
Яндекс индекс цитирования