VBA, если не пусто, выполнить для строки

#excel #vba #excel-formula

#excel #vba #excel-формула

Вопрос:

В моем скрипте я получил следующую строку.

 .Range(.Cells(1, "GP"), .Cells(last, "GP")).FormulaR1C1 = "=ISOWEEKNUM(RC" amp; i amp; ")"
  

Однако для пустой строки это записывает «52» (поскольку это неделя для пустой даты).
Есть ли способ, которым я могу ничего не писать, если строка пуста?

Ответ №1:

Возможно, используйте это в качестве своей формулы:

 "=IF(RC" amp; i amp; "="""","""",ISOWEEKNUM(RC" amp; i amp; "))"
  

Комментарии:

1. это или =IF(ISBLANK(RC" amp; i amp; "),"""",ISOWEEKNUM(RC" amp; i amp; "))"

2. «=IF(RC» amp; i amp; «=»<>»»»,»»»», ISOWEEKNUM(RC» amp; i amp; «))» По-видимому, сработало

3. Эта точная формула не могла бы сработать, если только у вас нет опечатки в вашем комментарии. Плюс эта логика не соответствует вашему описанию.

4. «=IF(RC» amp; i amp; «<>»»»»,ISOWEEKNUM(RC» amp; i amp; «),»»»»)» если быть точным сработало

Ответ №2:

В итоге я решил это с помощью:

 "=IF(RC" amp; i amp; "<>"""",ISOWEEKNUM(RC" amp; i amp; "),"""")" to be exact worked