У меня есть довольно простой скрипт vba, который копирует перенесенные значения из диапазона на листе в другой, вот соответствующий код:
wb.ActiveSheet.Range("D2", "D32").Copy
cwb.ActiveSheet.Range("B10").PasteSpecial Paste:=xlPasteValues, Transpose:=True
Исходный диапазон представляет собой неформатированный текст (нет контроля над этим), но это время (xx:xx)
, в то время как место назначения соответствующим образом предварительно отформатировано как время (xx:xx)
.
Кажется, что значения в целевом диапазоне обрабатываются как простые строки, а не форматируются в соответствии с указанным правилом. Как только я выбираю ячейку и нажимаю ввод, форматирование применяется.
Как я могу вызвать такое же поведение прямо при вставке диапазона в vba? От пользователя не требуется подтверждать каждую ячейку.
Я должен добавить, что это также приводит к сбою некоторых вычислений, потому что для превосходства это не числа.