Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Программирование под Windows > Visual Basic
Перезагрузить страницу Условное форматирование из VBA для excel
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
And_rey And_rey вне форума
Member
 
Сообщений: 13
Сказал(а) спасибо: 3
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 16.11.2015
По умолчанию Условное форматирование из VBA для excel - 25.12.2015, 20:03

Доброго времени суток, подскажите как можно из VBA в сделать условное форматирование диапазона ячеек (A1:A31). В каждую ячейку можно вписать любые цифры (без проверки данных), но при внесении цифр от 1 до 7, ячейка закрашивается определенным цветом.

Т.к пользователи постоянно удаляют строки, хочу чтобы при загрузке книги ексель условное форматирование этих ячеек восстанавливалось.
Заранее спасибо.
Ответить с цитированием
  (#2 (permalink)) Старый
pashulka pashulka вне форума
Member
 
Сообщений: 1,872
Сказал(а) спасибо: 2
Поблагодарили 57 раз(а) в 53 сообщениях
Регистрация: 11.03.2005
По умолчанию 25.12.2015, 20:24

Цифр или чисел ?

Если цифр, то 51 также нужно выделить цветом, если чисел, то 44, 51 и т.п. остаются без заливки ...
Ответить с цитированием
  (#3 (permalink)) Старый
And_rey And_rey вне форума
Member
 
Сообщений: 13
Сказал(а) спасибо: 3
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 16.11.2015
По умолчанию 25.12.2015, 21:53

Цитата:
Сообщение от pashulka Посмотреть сообщение
Цифр или чисел ?

Если цифр, то 51 также нужно выделить цветом, если чисел, то 44, 51 и т.п. остаются без заливки ...
Вписываются только целые числа.
Ответить с цитированием
  (#4 (permalink)) Старый
pashulka pashulka вне форума
Member
 
Сообщений: 1,872
Сказал(а) спасибо: 2
Поблагодарили 57 раз(а) в 53 сообщениях
Регистрация: 11.03.2005
По умолчанию 25.12.2015, 22:18

Не на такой ответ я надеялся

Вот смотрите, есть цифры от 1 до 7 и есть числа, которые содержат эти цифры, например 19 (есть 1), 40 (есть цифра 4) или 89 (это число вообще не содержит цифр от 1 до 7)

И собственно вопрос - нужно изменить цвет заливки в ячейке, которая содержит :
- любое число от 1 до 7 (включая дробное)
- любую из цифр от 1 до 7 (т.е. 1, 15, 111 и т.д.)

P.S. При ответе не нужно цитировать предыдущее сообщение.
Ответить с цитированием
  (#5 (permalink)) Старый
And_rey And_rey вне форума
Member
 
Сообщений: 13
Сказал(а) спасибо: 3
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 16.11.2015
По умолчанию 25.12.2015, 22:55

Да, наверно у меня не получается написать, то что я имею ввиду)
В общем,например если пользователь пишет я ячейку А1 цифру 1 то ячейка закрашивается красным цветом, если 2 то оранжевым, так до 7-ми. (как для 7-и цветов радуги) Если в ячейке написано 8 или 9 или 25 и т.д то цвет заливки не меняется. И так для каждой ячейки из диапазона (A1:A31). Как то так.
Ответить с цитированием
Ads.
  (#6 (permalink)) Старый
pashulka pashulka вне форума
Member
 
Сообщений: 1,872
Сказал(а) спасибо: 2
Поблагодарили 57 раз(а) в 53 сообщениях
Регистрация: 11.03.2005
По умолчанию 25.12.2015, 23:35

Более трёх условий возможно только в MS Excel 2007(и старше) и если Ваш офис соответствует этим требованиям, то разместите строго в модуле нужного листа :

VB Код:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    If Intersect(Target, [A1:A31]) Is Nothing Then Exit Sub
   
    Dim iCount%, iColor As Variant
    iColor = Array(vbRed, vbMagenta, vbYellow, vbGreen, vbBlue, vbBlack, vbCyan)
       
    With [A1:A31].FormatConditions
         .Delete
         For iCount = 1 To 7
             With .Add(xlCellValue, xlEqual, iCount)
                  .Interior.Color = iColor(iCount - 1)
                  '.Interior.ColorIndex = Choose(iCount, 3, 7, 6, 4, 5, 1, 8)
                 .StopIfTrue = True
             End With
         Next
    End With
End Sub

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

P.S. Цвет заливки, разумеется, может быть изменён на более приемлемый.
Ответить с цитированием
Пользователь сказал cпасибо:
And_rey (26.12.2015)
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Форматирование fix777 Любые вопросы от новичков 1 11.06.2015 13:30
Форматирование ЖД iluxa1810 Накопители 6 08.11.2013 23:53
Форматирование 61cent Софт и программы 3 02.03.2013 01:42
В VBA задать условное ФОРМАТИРОВАНИЕ! ВоВаНС Visual Basic 18 04.08.2012 22:59
Форматирование на W7 proglod Любые вопросы от новичков 3 22.01.2012 11:46
ФОРМАТИРОВАНИЕ HDD БЕЗ ОС В_О_В_Е_Ц Любые вопросы от новичков 6 28.12.2011 16:51
форматирование с АкуырФззду Windows XP 10 11.09.2011 21:01
Форматирование rurut Накопители 7 02.03.2010 18:06
Excel форматирование в С++ Builder en33 C++ Builder 0 05.02.2009 15:40
форматирование fox24 Программы и софт 2 16.07.2007 16:29
Не сохраняется файл в Excel XP после сохранения в Excel 2003 AleksME Visual Basic 0 13.09.2005 17:15
Как заставить работать проект Excel 2002 в Excel 20023? Alex25 Visual Basic 3 21.07.2005 01:03



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов