Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/при передачи округленного в ячейку пропадает округление - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » при передачи округленного в ячейку пропадает округление (Макросы/Sub)
при передачи округленного в ячейку пропадает округление
skais Дата: Пятница, 12.07.2019, 10:38 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 186
Репутация: 25 ±
Замечаний: 60% ±

Excel 2010
Столкнулся с проблемой. В коде показывает, что число округленно, но при передаче ячейке оно снова становится неокругленным, пример приложил.
Добавил [vba]
Код
Application.round
[/vba]- вроде стало адекватно.
К сообщению приложен файл: Book1.xlsm(16.5 Kb)


Сообщение отредактировал skais - Пятница, 12.07.2019, 10:54
 
Ответить
СообщениеСтолкнулся с проблемой. В коде показывает, что число округленно, но при передаче ячейке оно снова становится неокругленным, пример приложил.
Добавил [vba]
Код
Application.round
[/vba]- вроде стало адекватно.

Автор - skais
Дата добавления - 12.07.2019 в 10:38
KuklP Дата: Пятница, 12.07.2019, 21:32 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 2365
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
А так:
[vba]
Код
Sub Button1_Click()
    Dim d#, d1#, d2#
    d = 20 + Rnd * 5
    d1 = Round(d, 1)
    d2 = Application.Round(d, 1)
    MsgBox d1
    [a1] = d1
    [a2] = d2
    [a3] = Round(20.39023 + 32.889374939, 1)
End Sub
[/vba]
P.S. Application.Round - обращение к формуле листа. Сокращенная запись от:
[vba]
Код
Application.WorksheetFunction.Round(d, 1)
[/vba]


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеА так:
[vba]
Код
Sub Button1_Click()
    Dim d#, d1#, d2#
    d = 20 + Rnd * 5
    d1 = Round(d, 1)
    d2 = Application.Round(d, 1)
    MsgBox d1
    [a1] = d1
    [a2] = d2
    [a3] = Round(20.39023 + 32.889374939, 1)
End Sub
[/vba]
P.S. Application.Round - обращение к формуле листа. Сокращенная запись от:
[vba]
Код
Application.WorksheetFunction.Round(d, 1)
[/vba]

Автор - KuklP
Дата добавления - 12.07.2019 в 21:32
skais Дата: Суббота, 13.07.2019, 21:02 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 186
Репутация: 25 ±
Замечаний: 60% ±

Excel 2010
KuklP, Спасибо! Но чем это все объясняется или как? А если нужно присваивать сразу ячейке листа без переменных? Удивлен и нет объяснения этой логике работы функции round.
 
Ответить
СообщениеKuklP, Спасибо! Но чем это все объясняется или как? А если нужно присваивать сразу ячейке листа без переменных? Удивлен и нет объяснения этой логике работы функции round.

Автор - skais
Дата добавления - 13.07.2019 в 21:02
KuklP Дата: Воскресенье, 14.07.2019, 00:32 | Сообщение № 4
Группа: Проверенные
Ранг: Старожил
Сообщений: 2365
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
А если нужно присваивать сразу ячейке листа без переменных?

[vba]
Код
Sub Button1_Click()
    [a1] = 20 + Rnd * 5
    [a2] = Application.Round([a1], 1)
    [a1] = Round([a1], 1)
    [a3] = Round(20.39023 + 32.889374939, 1)
End Sub
[/vba]
Чем объясняется - не знаю. Сам не сталкивался, потому что всегда объявляю переменные) Возможно влияет рандомизация...


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
Сообщение
А если нужно присваивать сразу ячейке листа без переменных?

[vba]
Код
Sub Button1_Click()
    [a1] = 20 + Rnd * 5
    [a2] = Application.Round([a1], 1)
    [a1] = Round([a1], 1)
    [a3] = Round(20.39023 + 32.889374939, 1)
End Sub
[/vba]
Чем объясняется - не знаю. Сам не сталкивался, потому что всегда объявляю переменные) Возможно влияет рандомизация...

Автор - KuklP
Дата добавления - 14.07.2019 в 00:32
skais Дата: Воскресенье, 14.07.2019, 10:19 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 186
Репутация: 25 ±
Замечаний: 60% ±

Excel 2010
Прикольно, спасибо! Сколько изащерений все же находится.
 
Ответить
СообщениеПрикольно, спасибо! Сколько изащерений все же находится.

Автор - skais
Дата добавления - 14.07.2019 в 10:19
Мир MS Excel » Вопросы и решения » Вопросы по VBA » при передачи округленного в ячейку пропадает округление (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс цитирования
© 2010-2019 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!