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

Вход

Регистрация

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

 

= Мир MS Excel/Функция Сумцвет и текстовые ячейки - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Функция Сумцвет и текстовые ячейки (Макросы/Sub)
Функция Сумцвет и текстовые ячейки
Jenya1997 Дата: Четверг, 08.02.2018, 18:18 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Добрый день!
Прошу помощи знающих — создали табель для учета часов сотрудников. Что бы считать отдельно выходные и рабочие, ячейки выделили цветами и в Visual Basic вставили модуль для появления функции «Сумцвет» — функция работает. Но помимо столбцов с числами, после каждой даты есть столбец «Проект», где в ячейке текст. Функция берет диапазон ячеек по всей строке и видя текстовые ячейки выдает "#ЗНАЧ!". Как можно сделать так, что бы эти текстовые ячеейки либо не учитываль (что бы функция распозновала что цифры суммируются по цветам, а текст внезависимости от цвета ячейки пропускаются) либо же видя текст в ячейки считало их как «0»??

Файл прикрепил, спасибо!

Как выглядит сейчас модуль:
Function СумЦвет(диапазон As Range, критерий As Range) As Double
' Определяет сумму значений в ячейках "диапазона",
' цвет которых совпадает с цветом в ячейке "критерий"
Application.Volatile True
Dim i As Range
For Each i In диапазон
If i.Interior.Color = критерий.Interior.Color Then
СумЦвет = СумЦвет + i
End If
Next
End Function
К сообщению приложен файл: ___.xlsm(57Kb)
 
Ответить
СообщениеДобрый день!
Прошу помощи знающих — создали табель для учета часов сотрудников. Что бы считать отдельно выходные и рабочие, ячейки выделили цветами и в Visual Basic вставили модуль для появления функции «Сумцвет» — функция работает. Но помимо столбцов с числами, после каждой даты есть столбец «Проект», где в ячейке текст. Функция берет диапазон ячеек по всей строке и видя текстовые ячейки выдает "#ЗНАЧ!". Как можно сделать так, что бы эти текстовые ячеейки либо не учитываль (что бы функция распозновала что цифры суммируются по цветам, а текст внезависимости от цвета ячейки пропускаются) либо же видя текст в ячейки считало их как «0»??

Файл прикрепил, спасибо!

Как выглядит сейчас модуль:
Function СумЦвет(диапазон As Range, критерий As Range) As Double
' Определяет сумму значений в ячейках "диапазона",
' цвет которых совпадает с цветом в ячейке "критерий"
Application.Volatile True
Dim i As Range
For Each i In диапазон
If i.Interior.Color = критерий.Interior.Color Then
СумЦвет = СумЦвет + i
End If
Next
End Function

Автор - Jenya1997
Дата добавления - 08.02.2018 в 18:18
abtextime Дата: Четверг, 08.02.2018, 18:33 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 551
Репутация: 73 ±
Замечаний: 0% ±

Excel 2010
Добавьте IsNumeric в условие

[vba]
Код
Function СумЦвет(диапазон As Range, критерий As Range) As Double
' Определяет сумму значений в ячейках "диапазона",
' цвет которых совпадает с цветом в ячейке "критерий"
Application.Volatile True
Dim i As Range
   For Each i In диапазон
        If IsNumeric(i.Value) And (i.Interior.Color = критерий.Interior.Color) Then
           СумЦвет = СумЦвет + i
        End If
    Next
End Function
[/vba]
К сообщению приложен файл: 8136664.xlsm(59Kb)
 
Ответить
СообщениеДобавьте IsNumeric в условие

[vba]
Код
Function СумЦвет(диапазон As Range, критерий As Range) As Double
' Определяет сумму значений в ячейках "диапазона",
' цвет которых совпадает с цветом в ячейке "критерий"
Application.Volatile True
Dim i As Range
   For Each i In диапазон
        If IsNumeric(i.Value) And (i.Interior.Color = критерий.Interior.Color) Then
           СумЦвет = СумЦвет + i
        End If
    Next
End Function
[/vba]

Автор - abtextime
Дата добавления - 08.02.2018 в 18:33
Manyasha Дата: Четверг, 08.02.2018, 21:30 | Сообщение № 3
Группа: Модераторы
Ранг: Старожил
Сообщений: 2092
Репутация: 862 ±
Замечаний: 0% ±

Excel 2010, 2016
Jenya1997, Прочитайте Правила форума
Оформите код тегами (кнопка #)


marinamorozova_box@mail.ru
ЯД: 410013299366744 WM: R193491431804
 
Ответить
СообщениеJenya1997, Прочитайте Правила форума
Оформите код тегами (кнопка #)

Автор - Manyasha
Дата добавления - 08.02.2018 в 21:30
Jenya1997 Дата: Пятница, 09.02.2018, 10:16 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Спасибо большое за помощь!

Сейчас исправим, прошу прощения
 
Ответить
СообщениеСпасибо большое за помощь!

Сейчас исправим, прошу прощения

Автор - Jenya1997
Дата добавления - 09.02.2018 в 10:16
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Функция Сумцвет и текстовые ячейки (Макросы/Sub)
Страница 1 из 11
Поиск:

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