ОФ
Ольга Фомина

макрос в excel для массового окугления в ячейках

Есть куча ячеек с цифрами. их нужно округлить до "-2) и при этом сохранить формулу. то есть: первоначальный вид: "1234". желаемый вид: "=ОКРУГЛ (1234;-2)"
как прописать макрос. подскажите

TINKI, выдает out of range

Удачник, я в макро ничего не понимаю. максмимум могу копировать и вставить... (((

Александр Куклин, большое спасибо! все сработало как надо!

Дмитрий Ртищев
Дмитрий Ртищев

Как-то так

Sub TestSub()
For Each c In Worksheets("Sheet1").Range("A1:D10").Cells
oldVal = c.Value
c.Value = "=ОКРУГЛ (" + oldVal + ";-2)"
Next
End Sub

АЧ
Антуанетта Чернецова

По правилам Экселя, если число округляемых разрядов отрицательно, то округляется целая часть, отбрасывая n младших разрядов.
-2 означает, что мы округляем до сотен, то есть
=ОКРУГЛ (1234;-2) = 1200
=ОКРУГЛ (1264;-2) = 1300
=ОКРУГЛ (34;-2) = 0
Программу я тебе уже написал в предыдущем ответе, для твоего случая она будет такой:
For i = 1 To 10
For k = 1 To 20
Cells(i.k) = Int (Cells(i.k)/100 + 0.5)*100
Next k
Next i

ТМ
Таис Московская

Выделяете нужную область, в ней все ячейки станут как вам надо.

Sub macro1()
For Each cell In Selection.Cells
cell.Formula = "=ROUND(" + CStr(cell.Value) + ",-2)"
Next cell
End Sub

Похожие вопросы
Макрос замены в Excel 2003
Задача по информатике Excel макрос
Как написать макрос (visual basic) в Excel, который проверяет, является ли выбранная ячейка влияющей на другие ячейки?
Как написать макрос в Excel
как можно защищат ячейку в EXCEL
Как написать макрос Excel
макрос в excel для массового окугления в йчейках
Может ли макрос Excel запустить выполнение макроса в Word?
Не показывает всю ячейку в Excel.
Delphi и ячейка Excel