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

Вход

Регистрация

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

 

= Мир MS Excel/Hайти максимальное значение в залитых цветом ячейках - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Hайти максимальное значение в залитых цветом ячейках (Макросы/Sub)
Hайти максимальное значение в залитых цветом ячейках
Iskra Дата: Суббота, 25.10.2014, 23:27 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте,

Помогите, пожалуйста, найти решение, весь день промучилась, пытаясь ее решить разными путями и никак(( После всех неудачных попыток, я поняла, что решение может быть только через макрос, но я полный ноль в VBA.

Мне нужно найти максимальное значение в залитых цветом ячейках строки. Например, в присоединенном файле в ячейке I5 должно выйти значение 1.5, в ячейке I6 значение 2, в ячейке I7 значение 1 и тд.
К сообщению приложен файл: File.xlsm (10.6 Kb)
 
Ответить
СообщениеЗдравствуйте,

Помогите, пожалуйста, найти решение, весь день промучилась, пытаясь ее решить разными путями и никак(( После всех неудачных попыток, я поняла, что решение может быть только через макрос, но я полный ноль в VBA.

Мне нужно найти максимальное значение в залитых цветом ячейках строки. Например, в присоединенном файле в ячейке I5 должно выйти значение 1.5, в ячейке I6 значение 2, в ячейке I7 значение 1 и тд.

Автор - Iskra
Дата добавления - 25.10.2014 в 23:27
tsap Дата: Воскресенье, 26.10.2014, 01:39 | Сообщение № 2
Группа: Проверенные
Ранг: Участник
Сообщений: 60
Репутация: 6 ±
Замечаний: 0% ±

2013
Пробуйте:
[vba]
Код
Function color_max(r As Range)
Dim m As Double, cell As Range
m = 0
For Each cell In r
     If cell.Interior.ColorIndex <> -4142 Then
         If cell.Value2 > m Then: m = cell.Value
     End If
Next
color_max = m
End Function
[/vba]


 
Ответить
СообщениеПробуйте:
[vba]
Код
Function color_max(r As Range)
Dim m As Double, cell As Range
m = 0
For Each cell In r
     If cell.Interior.ColorIndex <> -4142 Then
         If cell.Value2 > m Then: m = cell.Value
     End If
Next
color_max = m
End Function
[/vba]

Автор - tsap
Дата добавления - 26.10.2014 в 01:39
Iskra Дата: Воскресенье, 26.10.2014, 10:12 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
tsap,
Огромнейшее Вам спасибо!! Все работает!!:)))

А можно ещеспросить ? Как сделать, чтобы цвет шрифта был таким же как и цвет заполнения ячейки (даже в белых ячейках)? Чтобы самих значений во всей таблице было не видно?

Спасибо большое!! yes


Сообщение отредактировал Iskra - Воскресенье, 26.10.2014, 10:24
 
Ответить
Сообщениеtsap,
Огромнейшее Вам спасибо!! Все работает!!:)))

А можно ещеспросить ? Как сделать, чтобы цвет шрифта был таким же как и цвет заполнения ячейки (даже в белых ячейках)? Чтобы самих значений во всей таблице было не видно?

Спасибо большое!! yes

Автор - Iskra
Дата добавления - 26.10.2014 в 10:12
Alex_ST Дата: Понедельник, 27.10.2014, 10:00 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3208
Репутация: 609 ±
Замечаний: 0% ±

2003
Чтобы значений в ячейках было не видно при любых цветах заливки и шрифта придайте ячейке формат данных ;;;
Тогда данные будут видны только в строке формул при выборе ячейки.
К сообщению приложен файл: 4445607.xls (22.5 Kb)



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Понедельник, 27.10.2014, 10:09
 
Ответить
СообщениеЧтобы значений в ячейках было не видно при любых цветах заливки и шрифта придайте ячейке формат данных ;;;
Тогда данные будут видны только в строке формул при выборе ячейки.

Автор - Alex_ST
Дата добавления - 27.10.2014 в 10:00
Iskra Дата: Понедельник, 27.10.2014, 15:20 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Alex_ST,

Большое Вам спасибо! :))
 
Ответить
СообщениеAlex_ST,

Большое Вам спасибо! :))

Автор - Iskra
Дата добавления - 27.10.2014 в 15:20
Alex_ST Дата: Понедельник, 27.10.2014, 15:51 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3208
Репутация: 609 ±
Замечаний: 0% ±

2003
tsap, а зачем Value2?
Цитата Справка
The only difference between this property and the Value property is that the Value2 property doesn’t use the Currency and Date data types.
Да и m = 0 - это лишнее.
Iskra, я файл посмотреть с работы не могу, т.к. в нём есть макросы (спасибо за "безопасность" собакам-сисадминам >( )
Но решение прямо в коде задавать ColorIndex хоть и работает, но очень стрёмное.
Малейшее движение мышки, чуть-чуть изменившее цвет, и всё перестанет работать.
Если нужно работать с цветом ячеек я обычно на листе задаю именованный диапазон - ячейку с образцом цвета, а в коде сначала читаю ColorIndex ячейки с этим именем, а потом работаю уже с ним.
Если Вы какой-либо ячейке в книге с образцом цвета назначите имя, например, MyColor, то в коде из любого модуля этой книги можно будет получить цвет этой ячейки так:[vba]
Код
[MyColor].Interior.ColorIndex
[/vba]
А вся функция тогда будет выглядеть так:



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Понедельник, 27.10.2014, 16:24
 
Ответить
Сообщениеtsap, а зачем Value2?
Цитата Справка
The only difference between this property and the Value property is that the Value2 property doesn’t use the Currency and Date data types.
Да и m = 0 - это лишнее.
Iskra, я файл посмотреть с работы не могу, т.к. в нём есть макросы (спасибо за "безопасность" собакам-сисадминам >( )
Но решение прямо в коде задавать ColorIndex хоть и работает, но очень стрёмное.
Малейшее движение мышки, чуть-чуть изменившее цвет, и всё перестанет работать.
Если нужно работать с цветом ячеек я обычно на листе задаю именованный диапазон - ячейку с образцом цвета, а в коде сначала читаю ColorIndex ячейки с этим именем, а потом работаю уже с ним.
Если Вы какой-либо ячейке в книге с образцом цвета назначите имя, например, MyColor, то в коде из любого модуля этой книги можно будет получить цвет этой ячейки так:[vba]
Код
[MyColor].Interior.ColorIndex
[/vba]
А вся функция тогда будет выглядеть так:

Автор - Alex_ST
Дата добавления - 27.10.2014 в 15:51
tsap Дата: Понедельник, 27.10.2014, 17:08 | Сообщение № 7
Группа: Проверенные
Ранг: Участник
Сообщений: 60
Репутация: 6 ±
Замечаний: 0% ±

2013
tsap, а зачем Value2?

Alex_ST, Ваша правда, замудрил ;)


 
Ответить
Сообщение
tsap, а зачем Value2?

Alex_ST, Ваша правда, замудрил ;)

Автор - tsap
Дата добавления - 27.10.2014 в 17:08
Iskra Дата: Вторник, 28.10.2014, 01:02 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Alex_ST,
Огромное Вам спасибо за помощь!! )) Для меня это сплошной темный лес, а у Вас так красиво получается:)) respect
 
Ответить
СообщениеAlex_ST,
Огромное Вам спасибо за помощь!! )) Для меня это сплошной темный лес, а у Вас так красиво получается:)) respect

Автор - Iskra
Дата добавления - 28.10.2014 в 01:02
Iskra Дата: Вторник, 28.10.2014, 01:03 | Сообщение № 9
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
tsap,
Я Вам очень благодарна, что отозвались помочь и, главное, все работало. Сама бы я и первую строчку макроса не написала бы. yes
 
Ответить
Сообщениеtsap,
Я Вам очень благодарна, что отозвались помочь и, главное, все работало. Сама бы я и первую строчку макроса не написала бы. yes

Автор - Iskra
Дата добавления - 28.10.2014 в 01:03
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Hайти максимальное значение в залитых цветом ячейках (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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