Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2003/XP/2000 - Условное форматирование дробной части

Ответить
Настройки темы
2003/XP/2000 - Условное форматирование дробной части

Забанен


Сообщения: 177
Благодарности: 3

Профиль | Сайт | Цитировать


Изменения
Автор: Maestro
Дата: 09-01-2014
Exel 2003
Не нашёл как можно сделать такое:

Если дробная часть числа равна нулю, то отображать только скажем целое или 1 знак поле запятой. Т.е. получается условное форматирование, то там нет таких вариантов

Или я слишком многого хочу?

Спасибо

P.S. Может на визуал бейсике можно как-то реализовать?

Отправлено: 12:39, 09-01-2014

 

Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


А если не равна?

Код: Выделить весь код
Option Explicit

Sub Sample()
    Dim objRange As Range
    
    For Each objRange In Selection
        If Int(objRange.Value) = objRange.Value Then
            objRange.Font.ColorIndex = 3
            objRange.NumberFormat = "#,##0.0"
        Else
            objRange.Font.ColorIndex = 10
            objRange.NumberFormat = "General"
        End If
    Next objRange
End Sub
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:20, 09-01-2014 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Забанен


Сообщения: 177
Благодарности: 3

Профиль | Сайт | Цитировать


Цитата Iska:
А если не равна? »
тогда ничего не делать.

А как такой макрос применительно ко всей таблице сделать?

Если я правильно понимаю, это надо выделить необходимый диапазон ячеек и выполнить этот макрос для них, так? - вроде работает, только получается и если дробная часть не нулевая, то тоже отсекает до 1 знака, а надо чтобы не трогало

Последний раз редактировалось Maestro, 09-01-2014 в 14:10.


Отправлено: 13:56, 09-01-2014 | #3


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата Maestro:
Если я правильно понимаю, это надо выделить необходимый диапазон ячеек и выполнить этот макрос для них, так? »
Совершенно верно.

Цитата Maestro:
тогда ничего не делать. »
Фокус не выйдет: тогда ранее заданные форматы не будут соответствовать новым значениям ячеек. Потому — было сделано так:
Код: Выделить весь код
Else
    objRange.Font.ColorIndex = 10
    objRange.NumberFormat = "General"
Цитата Maestro:
вроде работает, только получается и если дробная часть не нулевая, то тоже отсекает до 1 знака, а надо чтобы не трогало »
Не отсекает. Если у Вас отсекает — выкладывайте Ваш файл, укажите ячейку, посмотрим.

Последний раз редактировалось Iska, 09-01-2014 в 14:17.


Отправлено: 14:08, 09-01-2014 | #4


Модератор


Moderator


Сообщения: 16855
Благодарности: 3248

Профиль | Сайт | Отправить PM | Цитировать


Maestro, выделите диапазон, создайте правило для условного форматирования:
Код: Выделить весь код
=(A1-ЦЕЛОЕ(A1))=0
и задавайте формат

-------
При заполнении сведений о конфигурации компьютера не забудь поставить флажок: отображать - "Да"
-------------------------------------------------------------------------------------------
Ассоциация VirusNet - помощь и обучение борьбе с вирусами. Некоторые вопросы загрузки в моем блоге

Это сообщение посчитали полезным следующие участники:

Отправлено: 20:30, 09-01-2014 | #5


Забанен


Сообщения: 177
Благодарности: 3

Профиль | Сайт | Цитировать


Цитата Iska:
Не отсекает. Если у Вас отсекает — выкладывайте Ваш файл, укажите ячейку, посмотрим. »
Вот http://clip2net.com/s/6yDA4d

файл: http://rghost.ru/51531181

Отправлено: 11:12, 10-01-2014 | #6


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Maestro, лучше воспользуйтесь советом коллеги okshef. Это работает.

Цитата Maestro:
Вот http://clip2net.com/s/6yDA4d
файл: http://rghost.ru/51531181 »
Вот как выглядит у меня после исполнения макроса:


Если расширить столбцы, то виден ещё один знак:

Формат ячейки — «General» («Общий»), как и указано тут:
Код: Выделить весь код
        If Int(objRange.Value) = objRange.Value Then
            objRange.Font.ColorIndex = 3
            objRange.NumberFormat = "#,##0.0"
        Else
            objRange.Font.ColorIndex = 10
            objRange.NumberFormat = "General"
        End If
Что не так?
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:56, 10-01-2014 | #7


Модератор


Moderator


Сообщения: 16855
Благодарности: 3248

Профиль | Сайт | Отправить PM | Цитировать


Вложения
Тип файла: zip 2013 Серж.zip
(44.3 Kb, 15 просмотров)

Maestro, а что вам в моем способе не нравится? Замените A1 на D9, и все получится

-------
При заполнении сведений о конфигурации компьютера не забудь поставить флажок: отображать - "Да"
-------------------------------------------------------------------------------------------
Ассоциация VirusNet - помощь и обучение борьбе с вирусами. Некоторые вопросы загрузки в моем блоге


Отправлено: 20:25, 10-01-2014 | #8


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


okshef, всё нормально в предложенном Вами способе.
читать дальше »
Разве что сформулировано несколько отлично — «правило» вместо наличествующих «Условие» → «Формула». Меня, скажем, это и ввело поначалу в заблуждение, и я было решил (как можно судить по удалённому сообщению), что сие доступно только в более новых версиях Excel.

Отправлено: 04:02, 11-01-2014 | #9


Модератор


Moderator


Сообщения: 16855
Благодарности: 3248

Профиль | Сайт | Отправить PM | Цитировать


Iska, я, конечно же, имел в виду "правило условного форматирования" (в 2007 и выше есть пункт "Управление правилами", а то, что речь идет о 2000/XP/2003, забыл)

-------
При заполнении сведений о конфигурации компьютера не забудь поставить флажок: отображать - "Да"
-------------------------------------------------------------------------------------------
Ассоциация VirusNet - помощь и обучение борьбе с вирусами. Некоторые вопросы загрузки в моем блоге


Отправлено: 04:32, 11-01-2014 | #10



Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2003/XP/2000 - Условное форматирование дробной части

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
2003/XP/2000 - [решено] Excel | Условное форматирование и макросы AlexM Microsoft Office (Word, Excel, Outlook и т.д.) 6 05-08-2015 13:33
CMD/BAT - [решено] Сменить разделитель целой и дробной части AlexVong Скриптовые языки администрирования Windows 1 15-04-2011 21:32
Debian/Ubuntu - Как изменить разделитель целой и дробной части? NordWest Общий по Linux 6 26-11-2009 10:55
Прочие БД - Условное форматирование в MsAccess. Размер шрифта? hasherfrog Программирование и базы данных 0 30-11-2008 17:03
[решено] Разделитель дробной части... unicle Автоматическая установка Windows 2000/XP/2003 5 29-11-2007 13:22




 
Переход