Как правильно вставить формулу с конкретными символами, используя скрипт VBA - PullRequest
0 голосов
/ 27 апреля 2018

Я хотел бы вставить эту формулу

= ЕСЛИ (L257> 28; "> 28"; ЕСЛИ (И (L257 <= 28; L257> 21); "≤28"; ЕСЛИ (И (L257 <= 21; L257> 14); "≤ 21 "; ЕСЛИ (И (L257 <= 14; L257> 7);" ≤14 "; ЕСЛИ (L257

с помощью Excel vba для конкретной ячейки, если я записываю ее, то код вообще не выполняется, я имею в виду, что получу код ошибки или если я попытаюсь изменить эти знаки ≤ на это <= это только показывает знак "=" и число в качестве результата, но не показывает этот конкретный знак "<". Можете ли вы помочь мне, как я должен поместить это в код VBA или каким должно быть решение? </p>

Это что-то вроде записи

Range("M2").Select
ActiveCell.FormulaR1C1 = _
    "=IF(RC[-1]>28,"">28"",IF(AND(RC[-1]<=28,RC[-1]>21),""=28"",IF(AND(RC[-1]<=21,RC[-1]>14),""=21"",IF(AND(RC[-1]<=14,RC[-1]>7),""=14"",IF(RC[-1]<=7,""=7"",""error"")))))"
Range("M3").Select

1 Ответ

0 голосов
/ 27 апреля 2018

Как насчет использования символа Unicode в вашей формуле, как показано ниже, при этом будет использоваться символ «Больше» или «Равный» из требуемой формулы, и он будет отображаться правильно:

Unicode Character 8804 = ChrW (8804) =

ActiveCell.FormulaR1C1 = "=IF(RC[-1]>28,"">28"",IF(AND(RC[-1]<=28,RC[-1]>21),""" & ChrW(8804) & "28"",IF(AND(RC[-1]<=21,RC[-1]>14),""" & ChrW(8804) & "21"",IF(AND(RC[-1]<=14,RC[-1]>7),""" & ChrW(8804) & "14"",IF(RC[-1]<=7,""" & ChrW(8804) & "7"",""error"")))))"
...