Я использую функцию sumif в цикле for, пытаясь разделить каждое число в столбце на 100000000, чтобы настроить его единицу измерения и округлить окончательные результаты до 2 знаков после запятой. VBA всегда возвращает мне целые числа, но если я нажму на ячейки, нужная форма появится в поле ввода под меню.
Я пытался округлить результаты внутри цикла for, это не сработало.
Ниже приведен то, что я пробовал,
Sub unitchange()
Dim j As Integer
Dim u As Integer
u = Cells(Rows.Count, 1).End(xlUp).Row + 1
For j = 4 To u
Cells(j, 6) = Round((Cells(j, 6) / 100000000), 2)
Next j
End Sub
Я ожидаю, что результаты появятся на рабочем листе с округлением до двух знаков после запятой без необходимости нажимать на него. Спасибо.
1 ответ
Может заодно сбросить формат номера сотового...
Sub unitchange()
Dim j As Integer
Dim u As Integer
u = Cells(Rows.Count, 1).End(xlUp).Row + 1
For j = 4 To u
Cells(j, 6) = Round((Cells(j, 6) / 100000000), 2)
Cells(j, 6).NumberFormat = "General"
Next j
End Sub
Похожие вопросы
Новые вопросы
excel
Только для вопросов по программированию объектов или файлов Excel или по разработке формул. Вы можете комбинировать тег Excel с тегами и вопросами VBA, VSTO, C#, VB.NET, PowerShell, OLE и другими тегами и вопросами, связанными с программированием, если это применимо. НЕ используйте с другим программным обеспечением для работы с электронными таблицами, например [google-sheets].
Round
ведет себя немного иначе, чемWorksheetFunction.Round
.