Я использую сценарий импорта VBA для импорта данных (среди прочего, чисел, отформатированных как строки) в существующую форму Excel, которая уже имеет предопределенное форматирование для соответствующих ячеек (например,%). Для обновления сценарий просто перезаписывает значение:
MyWorkbook.Sheets("Sheetname").Cells(line, column).value = NewValue
После запуска сценария ячейки содержат «неформатированное» значение (например, 0,15). Однако сама ячейка все еще «знает» свой исходный формат, и после выбора ее вручную и нажатия клавиши ввода применяется форматирование. (0,15 переводится в 15%). По иронии судьбы (?), Если я заполняю значение «0», ячейка автоматически форматируется правильно до 0%.
Заполнение пустой формы вручную с помощью копирования и вставки также отлично работает. Как я могу смоделировать это поведение в VBA и вставить значение, по-прежнему применяя предопределенное форматирование листа (и при этом быть максимально эффективным)?
Версия Excel - Excel 2016.