Как сделать ячейку Excel равной пустой, возможно с помощью кода VBA
Конечно ты'собираемся ответить на этот вопрос с=""
Формула должна быть написана в вышеупомянутой ячейке, но это не мой случай.
На самом деле, у меня есть функция, которая работаеттолько если его аргумент равен пустой ячейке, то есть ячейке, которая была полностью стерта, нажавdel
над этим или чем-то подобным.
Очевидно, что я не могу просто стереть содержимое ячейки, потому что она получает данные из внешнего источника, и иногда мне нужно, чтобы содержимое этой ячейки присутствовало и было видно в моей электронной таблице.
Текущая ячейкаформула что-то вроде
=if([condition], "", [formula])
но если клетказначение равно""
вместо того, чтобы быть просто пустым, функция небольше не работает (наоборот, работает нормально, если содержимое равно[formula]
).Я
не могу изменить функцию, но я могу написать дополнительный код VBA для достижения результата.
Следуя просьбе Даниэля Кука о размещении моего кода, вот формулаQuantLibXL-хqlFloatingRateBond функция:
=qlFloatingRateBond(,,"EUR",3,,,"obj_0005#007",2,,"Actual/365",,,"obj_0004#008",,,,,,,)
Если вы измените его в
=qlFloatingRateBond(,,"EUR",3,,,"obj_0005#007",2,,"Actual/365",0,,"obj_0004#008",,,,,,,)
или же
=qlFloatingRateBond(,,"EUR",3,,,"obj_0005#007",2,,"Actual/365","",,"obj_0004#008",,,,,,,)
Вы получаете ошибку обработчика объектов из-за предоставленного неверного аргумента (изменение касаетсяFloors
аргумент, я надеюсь, что не сделал никакой ошибки с запятыми и пустыми аргументами по умолчанию ...).
Единственный способ сделать так, чтобы он управлял облигацией без минимального уровня, состоит в том, чтобы предоставить ей действительно пустую ячейку, но если бы у вас был внешний источник данных, который возвращает какое-то значение в этой ячейке в соответствии с наличием или отсутствием минимального уровня, вы бы не были в состоянии заставить это работать.