VBA: копировать / вставлять только числовые значения - PullRequest
0 голосов
/ 06 марта 2012

Я работаю над макросом, который импортирует много данных, в настоящее время используя .PasteSpecial paste: = xlPasteValues ​​

Это хорошо, если все диапазоны содержат только числовые значения.Однако на некоторых листах вместо использования нулей есть тире "-", которые усложняют вычисления в будущем.Я предполагаю, что Excel воспринимает их как значения.

Мое временное решение - использовать цикл для сканирования последнего импортированного диапазона на наличие черточек и замены их нулями.Поскольку объем данных довольно существенный, я бы предпочел решение, которое автоматически рассматривает нечисловые значения как нули для повышения эффективности кода.

Важно, чтобы тире обрабатывались как нули, а не игнорировались, так как позиционирование должно поддерживаться.

Рассматриваемый расчет представляет собой вариантное умножение массива (содержащее импортированные значения), присвоенное двойному.

Ответы [ 2 ]

1 голос
/ 07 марта 2012

Просто замените все - за один раз:

Range("B2:B6").Replace What:="-", Replacement:="0"
1 голос
/ 06 марта 2012

Вы можете использовать Заменить , чтобы сделать это:

NewValue = Replace(OldValue,"-","0")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...