Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.07.2009, 10:46   #1
Quatro_Drive
Пользователь
 
Регистрация: 22.07.2009
Сообщений: 18
Восклицание Сложная задача, наверно нужен макрос..

Привет всем! мне поставили задачу, а как решить ее не знаю .. Существует некий документ. Менеджер заносит в этот документ перед печатью некие суммы, как правило с копейками. Необходимо сделать так, чтобы при вводе дробного числа в ячейку оно округлялось вверх до рубля и отображалось в денежном формате с двумя знаками после запятой. Например мы вводим в ячейку число "123,45", давим энтер, и в ячейке автоматически отображается "124,00р." Как сделать это при помощи двух ячеек я знаю, но это важно сделать в одной. Товарищ один сказал что нужен макрос, только вот какой.. Еще бы знать как пишется этот макрос .. В общем друзья, очень расчитываю на вашу помощь!!
Quatro_Drive вне форума Ответить с цитированием
Старый 23.07.2009, 10:59   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Может быть задача и сложная. Может быть и нужен макрос. Но кто Вам не дает Предварительно (раз и навсегда) в требуемой ячейке установить "денежный" формат с без знаков после запятой?
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 23.07.2009, 11:03   #3
diment
Пользователь
 
Регистрация: 16.06.2009
Сообщений: 20
По умолчанию

выделяешь ячейку или область ячек, потом правой клавишей / формат ячеек / вкладка число /формат денежный
diment вне форума Ответить с цитированием
Старый 23.07.2009, 11:14   #4
Quatro_Drive
Пользователь
 
Регистрация: 22.07.2009
Сообщений: 18
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
в требуемой ячейке установить "денежный" формат с без знаков после запятой?
Согласен это было бы здорово, но вот округляться то вверх оно не будет ведь правда? А это одно из обязательных требований, как и наличие двух нулевых копеекпосле запятой, вот в чем проблема..
Вся беда в округлении, есть функция ОКРУГЛВВЕРХ, но в эту ячейку мы ее поместить не можем, так как она редактируемая. В другую ячейку помещать вводимое значение, чтобы в нужной нам получить округленное значение мы тоже не можем, потому как документ полностью печатается и левые неокругленные суммы нам не нужны..
Quatro_Drive вне форума Ответить с цитированием
Старый 23.07.2009, 11:40   #5
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Вот так вот.
Вложения
Тип файла: rar замена формата и округление.rar (11.1 Кб, 33 просмотров)
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 23.07.2009, 11:47   #6
pivas
Форумчанин
 
Регистрация: 03.04.2009
Сообщений: 412
По умолчанию

Бесподобно! Только маленький нюанс. Поскольку округление необходимо до целого то надо изменить
Код:
(Target, 0)
pivas вне форума Ответить с цитированием
Старый 23.07.2009, 11:51   #7
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Наверное, я не так понял или невнимательно читал.
Думаю автор доработает при необходимости.
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 23.07.2009, 12:20   #8
Quatro_Drive
Пользователь
 
Регистрация: 22.07.2009
Сообщений: 18
По умолчанию

Уважаемые The_Prist и Pivas, благодарен вам за ответы, однако мое абсолютное необщение с макросами (вообще никогда с ними не сталкивался и не представляю где и как их употреблять) поставило меня в тупик.. Открыв книгу "замена формата и округление" я реально увидел фигу.. и тем более где изменить код я никак догадаться не могу.. Насколько мне известно, они находятся приблизительно в Сервис\макрос\макросы... но попав туда тоже оказалось пусто.. уровень безопасности поставил средний и при открытии книги выбрал "не отключать макросы".. что я делал не так? Давайте уж как с чайником, в этом деле я он и есть..

Тэээк, зашел в VB и увидел что и где, код поправил.. щас попробую поэксперементировать..

Опять же встает вопрос, какова процедура написания макроса в уже готовом документе?

Вааааа!! Друзья получилось!! Спасибо гигантское!! Выручили!!
Но блин встала новая проблема - макрос применяется ко всей книге, а в ней кроме денежных значений вводятся количественные и процентные.. И соответственно вводим 4 например штуки, а получаем 4,00р. от этого как нибудь можно избавиться? Применить например макрос к некоторым интервалам ячеек (у меня их шесть штук)?

Последний раз редактировалось Quatro_Drive; 23.07.2009 в 12:59.
Quatro_Drive вне форума Ответить с цитированием
Старый 23.07.2009, 13:51   #9
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Цитата:
у меня их шесть штук
Телепаты на форуме может быть и есть, но они молчат.
Скажите конкретно, для каких ячеек какого листа нужно все это применять, и получите ответ незамедлительно.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 23.07.2009, 14:07   #10
Quatro_Drive
Пользователь
 
Регистрация: 22.07.2009
Сообщений: 18
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Скажите конкретно, для каких ячеек какого листа нужно все это применять, и получите ответ незамедлительно.
Сори, сразу не просек..
Интервалы все на первом листе (Лист1) следующие:
Z;AA;AB (три ячейки объединены в одну) 27-36 строка включительно
Z;AA;AB 53-62 строка
W;X;Y 41-48
124-160
164-172
175-179
Вроде как при объединении ячеек им присваивается буква с которой они начинаются, но на всякий случай написал все..

Последний раз редактировалось Quatro_Drive; 23.07.2009 в 14:58. Причина: Добавил информацию
Quatro_Drive вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рекурсия - сложная задача! RomT24 Паскаль, Turbo Pascal, PascalABC.NET 5 06.05.2009 23:14
Сложная задача asale Microsoft Office Excel 6 07.04.2009 20:36