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

Вход

Регистрация

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

 

= Мир MS Excel/Выражение счетесли через обычную суммпроизв. - Мир MS Excel

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

Excel 2003
Добрый день! Понадобилось написать "костыль". Есть два столбца, нужно подсчитать СЧЕТЕСЛИ при двух условиях. Делаю через сумму произведений, т.к. excel 2003. Код:

[vba]
Код
SentCNILCount = Application.WorksheetFunction.SumProduct("--" & (Range(.Cells(6, 38), .Cells(lLastRow, 38)) = ""),
                    "--" & (Range(.Cells(6, 34), .Cells(lLastRow, 34)) <> ""))
[/vba]

Выдает type mismatch. Что я сделал неправильно?
 
Ответить
СообщениеДобрый день! Понадобилось написать "костыль". Есть два столбца, нужно подсчитать СЧЕТЕСЛИ при двух условиях. Делаю через сумму произведений, т.к. excel 2003. Код:

[vba]
Код
SentCNILCount = Application.WorksheetFunction.SumProduct("--" & (Range(.Cells(6, 38), .Cells(lLastRow, 38)) = ""),
                    "--" & (Range(.Cells(6, 34), .Cells(lLastRow, 34)) <> ""))
[/vba]

Выдает type mismatch. Что я сделал неправильно?

Автор - Solely
Дата добавления - 23.02.2017 в 06:27
parovoznik Дата: Четверг, 23.02.2017, 06:48 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 442
Репутация: 26 ±
Замечаний: 0% ±

Excel 2013
Переменная lLastRow не определена,наверное. :(
 
Ответить
СообщениеПеременная lLastRow не определена,наверное. :(

Автор - parovoznik
Дата добавления - 23.02.2017 в 06:48
Solely Дата: Четверг, 23.02.2017, 07:04 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Извиняйте, выдернул из своего кода отрывок. Все определено:
[vba]
Код
Dim lLastRow As Long
lLastRow = WB.Sheets("кампания").Cells(Rows.Count, 1).End(xlUp).Row
[/vba]

И перед .Cells я объявил With WB.Sheets("Temp")
У меня просто или глаз замылился, или что-то с синтаксисом не то...
Мне нужно эту формулу в VBA перевести, как пример:
Код

=СУММПРОИЗВ(--(AH6:AH38="");--(AJ6:AJ38<>""))



Сообщение отредактировал Solely - Четверг, 23.02.2017, 07:04
 
Ответить
СообщениеИзвиняйте, выдернул из своего кода отрывок. Все определено:
[vba]
Код
Dim lLastRow As Long
lLastRow = WB.Sheets("кампания").Cells(Rows.Count, 1).End(xlUp).Row
[/vba]

И перед .Cells я объявил With WB.Sheets("Temp")
У меня просто или глаз замылился, или что-то с синтаксисом не то...
Мне нужно эту формулу в VBA перевести, как пример:
Код

=СУММПРОИЗВ(--(AH6:AH38="");--(AJ6:AJ38<>""))


Автор - Solely
Дата добавления - 23.02.2017 в 07:04
parovoznik Дата: Четверг, 23.02.2017, 07:15 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 442
Репутация: 26 ±
Замечаний: 0% ±

Excel 2013
Solely, WB-это что?
 
Ответить
СообщениеSolely, WB-это что?

Автор - parovoznik
Дата добавления - 23.02.2017 в 07:15
Solely Дата: Четверг, 23.02.2017, 07:20 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
[vba]
Код
Dim WB As Workbook
[/vba]
 
Ответить
Сообщение[vba]
Код
Dim WB As Workbook
[/vba]

Автор - Solely
Дата добавления - 23.02.2017 в 07:20
buchlotnik Дата: Четверг, 23.02.2017, 08:51 | Сообщение № 6
Группа: Заблокированные
Ранг: Участник клуба
Сообщений: 3442
Репутация: 929 ±
Замечаний: 20% ±

2010, 2013, 2016 RUS / ENG
Solely, вот эта конструкция [vba]
Код
"--" &
[/vba]вам зачем? Вы же просто прикрепляете два минуса к строке, получаете строку, строки умножать нельзя, отсюда и type mismatch. Как понимаю вам нужно преобразование типов - покажите, что у вас в исходниках
 
Ответить
СообщениеSolely, вот эта конструкция [vba]
Код
"--" &
[/vba]вам зачем? Вы же просто прикрепляете два минуса к строке, получаете строку, строки умножать нельзя, отсюда и type mismatch. Как понимаю вам нужно преобразование типов - покажите, что у вас в исходниках

Автор - buchlotnik
Дата добавления - 23.02.2017 в 08:51
Pelena Дата: Четверг, 23.02.2017, 08:57 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 19162
Репутация: 4412 ±
Замечаний: ±

Excel 365 & Mac Excel
Solely, для оформления кода используйте кнопку #, а не fx. Исправила


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеSolely, для оформления кода используйте кнопку #, а не fx. Исправила

Автор - Pelena
Дата добавления - 23.02.2017 в 08:57
Solely Дата: Четверг, 23.02.2017, 11:42 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
покажите, что у вас в исходниках

Показать исходники не могу (secret info), значения берутся из двух столбцов, где в одном столбце "неопределено"(тип строковый), а во втором значения есть(тип число), т.е. <>""
Прошу помочь на примере, как будет выглядеть именно эта строчка:
Код
=СУММПРОИЗВ(--(AH6:AH38="");--(AJ6:AJ38<>""))
 
Ответить
Сообщение
покажите, что у вас в исходниках

Показать исходники не могу (secret info), значения берутся из двух столбцов, где в одном столбце "неопределено"(тип строковый), а во втором значения есть(тип число), т.е. <>""
Прошу помочь на примере, как будет выглядеть именно эта строчка:
Код
=СУММПРОИЗВ(--(AH6:AH38="");--(AJ6:AJ38<>""))

Автор - Solely
Дата добавления - 23.02.2017 в 11:42
Solely Дата: Четверг, 23.02.2017, 11:48 | Сообщение № 9
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Пример
К сообщению приложен файл: 1938080.xls (29.5 Kb)
 
Ответить
СообщениеПример

Автор - Solely
Дата добавления - 23.02.2017 в 11:48
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Выражение счетесли через обычную суммпроизв. (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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