Я настраиваю инструмент ценообразования для моей команды по продажам, и мой начальник хочет, чтобы значения были округлены до ближайшей тысячи (т. Е. 1000) после того, как я пересчитал значения из USD в другую валюту. Я использую первую строку кода ниже, чтобы установить формат ячейки в GBP (британский sh фунтов), а затем вторую строку кода, чтобы умножить текущую сумму в этой ячейке (т.е. .value) на мою валюту преобразование, которое находится в ячейке 4,11.
Текущий код, который работает, но дает не округленный результат (£ 4235):
Cells(arr(rowcnt), ChkCol5).NumberFormat = "[$£-en-GB]#,##0"
Cells(arr(rowcnt), ChkCol5).Value = Cells(arr(rowcnt), ChkCol5).Value * Cells(4, 11)
Когда я добавляю функцию "round" в строку 2, я получаю
"Ошибка времени выполнения 5: недопустимый вызов процедуры или оператор."
Cells(arr(rowcnt), ChkCol5).Value = **Round**(Cells(arr(rowcnt), ChkCol5).Value * Cells(4, 11)**, -3)**
Когда я использую 3 вместо -3, это не ошибка, но и не ' кажется, ничего не делать. Конечно, все мои значения являются целыми числами, поэтому, может быть, поэтому. Но мне странно, что я не получаю ошибку округления с 3, но я делаю с -3.
Есть мысли ??
Спасибо!