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

Вход

Регистрация

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

 

= Мир MS Excel/Функция UDF замена СУММПРОИЗВ - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Функция UDF замена СУММПРОИЗВ (Макросы/Sub)
Функция UDF замена СУММПРОИЗВ
китин Дата: Вторник, 19.04.2016, 08:24 | Сообщение № 1
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4327
Репутация: 673 ±
Замечаний: 0% ±

Excel 2007;Excel 2010
Всем доброго времени суток! Лихорадочно пытаюсь уменьшить вес создаваемой таблицы на 20000 строк и 600 столбцов (сам не хочу, но начальство видит это только так и слов на понимает killed Вопрос : можно ли заменить на функцию пользователя кучу СУММПРОИЗВ ? и будет ли это реально быстрее данной функции ?
К сообщению приложен файл: UDF.xlsm(33Kb)


Не судите строго:я пытаюсь научиться
ЯД 41001877306852/WM R249698041931; Z239672726538
 
Ответить
СообщениеВсем доброго времени суток! Лихорадочно пытаюсь уменьшить вес создаваемой таблицы на 20000 строк и 600 столбцов (сам не хочу, но начальство видит это только так и слов на понимает killed Вопрос : можно ли заменить на функцию пользователя кучу СУММПРОИЗВ ? и будет ли это реально быстрее данной функции ?

Автор - китин
Дата добавления - 19.04.2016 в 08:24
_Boroda_ Дата: Вторник, 19.04.2016, 09:13 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 11269
Репутация: 4656 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Игорь, ЮДФ обычно медленнее стандартных функций. Исключения могут быть для вложенных функций в Excel. А вот если сделать не UDF-кой, а просто вставку значений макросом (сначала всё по кнопке, потом по событию изменения в строке вставку пересчет макросом и вставку нового только в этой строке, то должно быть быстрее.
Сам сделаешь или помочь?


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеИгорь, ЮДФ обычно медленнее стандартных функций. Исключения могут быть для вложенных функций в Excel. А вот если сделать не UDF-кой, а просто вставку значений макросом (сначала всё по кнопке, потом по событию изменения в строке вставку пересчет макросом и вставку нового только в этой строке, то должно быть быстрее.
Сам сделаешь или помочь?

Автор - _Boroda_
Дата добавления - 19.04.2016 в 09:13
китин Дата: Вторник, 19.04.2016, 09:22 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4327
Репутация: 673 ±
Замечаний: 0% ±

Excel 2007;Excel 2010
Намного медленнее? А на вес файла как ЮДФки влияют? А то у меня на этих объемах да еще с СУММПРОИЗВ файлик до 7 метров подрос. Может Бог с ней со скоростью.(особенно если разница невелика)


Не судите строго:я пытаюсь научиться
ЯД 41001877306852/WM R249698041931; Z239672726538
 
Ответить
СообщениеНамного медленнее? А на вес файла как ЮДФки влияют? А то у меня на этих объемах да еще с СУММПРОИЗВ файлик до 7 метров подрос. Может Бог с ней со скоростью.(особенно если разница невелика)

Автор - китин
Дата добавления - 19.04.2016 в 09:22
SLAVICK Дата: Вторник, 19.04.2016, 09:32 | Сообщение № 4
Группа: Модераторы
Ранг: Старожил
Сообщений: 2000
Репутация: 673 ±
Замечаний: 0% ±

2007,2010,2013,2016
можно ли заменить на функцию пользователя кучу СУММПРОИЗВ

Можно :D :
[vba]
Код
Function D(R As Range, R1 As Range)
Dim M(), M1(), MF(), I&, II&
M = R.Value
M1 = R1.Value
ReDim MF(1 To UBound(M), 1 To 1)
For I = 1 To UBound(M)
    For II = 1 To UBound(M, 2)
    MF(I, 1) = MF(I, 1) + M(I, II) * M1(1, II)
    Next
Next
D = MF
End Function
[/vba]
Это будет формула массива - вводимая для всех строк сразу.
За счет того что это будет одна формула Возможно будет быстрее... но далеко не факт. все же
ЮДФ обычно медленнее стандартных функций


Зы думаю с формулой - разберетесь. Важно чтобы количество строк, которые она просчитывает и в которое вводится совпадали.
К сообщению приложен файл: 2172501.xlsm(38Kb)


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
можно ли заменить на функцию пользователя кучу СУММПРОИЗВ

Можно :D :
[vba]
Код
Function D(R As Range, R1 As Range)
Dim M(), M1(), MF(), I&, II&
M = R.Value
M1 = R1.Value
ReDim MF(1 To UBound(M), 1 To 1)
For I = 1 To UBound(M)
    For II = 1 To UBound(M, 2)
    MF(I, 1) = MF(I, 1) + M(I, II) * M1(1, II)
    Next
Next
D = MF
End Function
[/vba]
Это будет формула массива - вводимая для всех строк сразу.
За счет того что это будет одна формула Возможно будет быстрее... но далеко не факт. все же
ЮДФ обычно медленнее стандартных функций


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

Автор - SLAVICK
Дата добавления - 19.04.2016 в 09:32
китин Дата: Вторник, 19.04.2016, 09:41 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4327
Репутация: 673 ±
Замечаний: 0% ±

Excel 2007;Excel 2010
Слава привет.Спасибо. Стандартная просьба прокомментировать


я все же не теряю надежды хоть чему то научиться %)
К сообщению приложен файл: 7045930.gif(33Kb)


Не судите строго:я пытаюсь научиться
ЯД 41001877306852/WM R249698041931; Z239672726538
 
Ответить
СообщениеСлава привет.Спасибо. Стандартная просьба прокомментировать


я все же не теряю надежды хоть чему то научиться %)

Автор - китин
Дата добавления - 19.04.2016 в 09:41
китин Дата: Вторник, 19.04.2016, 09:41 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4327
Репутация: 673 ±
Замечаний: 0% ±

Excel 2007;Excel 2010
Сам сделаешь или помочь?

Саш вот тут лучше помочь. Самому долго разбираться


Не судите строго:я пытаюсь научиться
ЯД 41001877306852/WM R249698041931; Z239672726538
 
Ответить
Сообщение
Сам сделаешь или помочь?

Саш вот тут лучше помочь. Самому долго разбираться

Автор - китин
Дата добавления - 19.04.2016 в 09:41
_Boroda_ Дата: Вторник, 19.04.2016, 09:47 | Сообщение № 7
Группа: Модераторы
Ранг: Местный житель
Сообщений: 11269
Репутация: 4656 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Растянул А:Т и СУММПРОИЗВ по столбцу V на 2000 строк. Сохранил. Размер 201 509.

Поставил свою простенькую Юдф на столбец V
[vba]
Код
Function SumPr(d1 As Range, d2 As Range)
    n_ = d1.Cells.Count'кол-во ячеек в диапазоне
    For I = 1 To n_'цикл от 1 до n
        z_ = d1(I) * d2(I) + z_'i-е значения перемножаем и складываем с уже перемноженными ранее
    Next I
    SumPr = z_
End Function
[/vba]Размер 201 588.

Поставил ЮДФ Ярослава. Размер 202 565.


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеРастянул А:Т и СУММПРОИЗВ по столбцу V на 2000 строк. Сохранил. Размер 201 509.

Поставил свою простенькую Юдф на столбец V
[vba]
Код
Function SumPr(d1 As Range, d2 As Range)
    n_ = d1.Cells.Count'кол-во ячеек в диапазоне
    For I = 1 To n_'цикл от 1 до n
        z_ = d1(I) * d2(I) + z_'i-е значения перемножаем и складываем с уже перемноженными ранее
    Next I
    SumPr = z_
End Function
[/vba]Размер 201 588.

Поставил ЮДФ Ярослава. Размер 202 565.

Автор - _Boroda_
Дата добавления - 19.04.2016 в 09:47
SLAVICK Дата: Вторник, 19.04.2016, 10:12 | Сообщение № 8
Группа: Модераторы
Ранг: Старожил
Сообщений: 2000
Репутация: 673 ±
Замечаний: 0% ±

2007,2010,2013,2016
Стандартная просьба прокомментировать

[vba]
Код
Function D(R As Range, R1 As Range)
Dim M(), M1(), MF(), I&, II&
M = R.Value 'Закидываем диапазон R в массив
M1 = R1.Value 'Закидываем диапазон R1 в массив
ReDim MF(1 To UBound(M), 1 To 1) 'Создаем новый пустой массив с количеством строк = массив 1
For I = 1 To UBound(M) 'Проходим по всем строкам
    For II = 1 To UBound(M, 2) 'Проходим по всем столбцам
    MF(I, 1) = MF(I, 1) + M(I, II) * M1(1, II) 'Выполняем перемножение и суммирование
    Next
Next
D = MF 'отдаем функции результат.
End Function 'Радуемся :)
[/vba]
Поставил свою простенькую Юдф

Саш, так у меня тоже простенькая :D
- по идее на больших объемах моя должна быстрее считать, потому что все вычисления происходят в массивах и только один раз. А в твоей функции она в каждой строке - обращается к диапазону...
Игорь - с Вас отчет о тестировании yes


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
Стандартная просьба прокомментировать

[vba]
Код
Function D(R As Range, R1 As Range)
Dim M(), M1(), MF(), I&, II&
M = R.Value 'Закидываем диапазон R в массив
M1 = R1.Value 'Закидываем диапазон R1 в массив
ReDim MF(1 To UBound(M), 1 To 1) 'Создаем новый пустой массив с количеством строк = массив 1
For I = 1 To UBound(M) 'Проходим по всем строкам
    For II = 1 To UBound(M, 2) 'Проходим по всем столбцам
    MF(I, 1) = MF(I, 1) + M(I, II) * M1(1, II) 'Выполняем перемножение и суммирование
    Next
Next
D = MF 'отдаем функции результат.
End Function 'Радуемся :)
[/vba]
Поставил свою простенькую Юдф

Саш, так у меня тоже простенькая :D
- по идее на больших объемах моя должна быстрее считать, потому что все вычисления происходят в массивах и только один раз. А в твоей функции она в каждой строке - обращается к диапазону...
Игорь - с Вас отчет о тестировании yes

Автор - SLAVICK
Дата добавления - 19.04.2016 в 10:12
_Boroda_ Дата: Вторник, 19.04.2016, 11:25 | Сообщение № 9
Группа: Модераторы
Ранг: Местный житель
Сообщений: 11269
Репутация: 4656 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
по идее на больших объемах моя должна быстрее считать

Скорее всего да. Я потому и написал, что совсем по-простому сделал. Просто потому, что здесь другой подход нужен.
Например, такой - формулы только в первой строке таблицы (в строке 6), остальное - значениями. И есть 2 макроса -
1. копирует формулы из строки 6, размножает их вниз и преобразует все это в значения,
2. при изменении чего-либо в столбцах F:T -
2.1. если изменение в строках 1:4 - см. п.1
2.2. если изменение в строках 6:ПоследняяЗаполненнаяПоСтолбцуЕ - все также, как и в п.1, но только для текущей строки.
п.2 работает только при включенном флажке.
Если нужно множественное изменение на листе, то отключаем флажок, меняем и запускаем "Пересчитать всё"
Чуть поменял макрос и файл перевложил
К сообщению приложен файл: UDF_14.xlsm(43Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
по идее на больших объемах моя должна быстрее считать

Скорее всего да. Я потому и написал, что совсем по-простому сделал. Просто потому, что здесь другой подход нужен.
Например, такой - формулы только в первой строке таблицы (в строке 6), остальное - значениями. И есть 2 макроса -
1. копирует формулы из строки 6, размножает их вниз и преобразует все это в значения,
2. при изменении чего-либо в столбцах F:T -
2.1. если изменение в строках 1:4 - см. п.1
2.2. если изменение в строках 6:ПоследняяЗаполненнаяПоСтолбцуЕ - все также, как и в п.1, но только для текущей строки.
п.2 работает только при включенном флажке.
Если нужно множественное изменение на листе, то отключаем флажок, меняем и запускаем "Пересчитать всё"
Чуть поменял макрос и файл перевложил

Автор - _Boroda_
Дата добавления - 19.04.2016 в 11:25
SLAVICK Дата: Вторник, 19.04.2016, 11:49 | Сообщение № 10
Группа: Модераторы
Ранг: Старожил
Сообщений: 2000
Репутация: 673 ±
Замечаний: 0% ±

2007,2010,2013,2016
Например, такой - формулы только в первой строке таблицы (в строке №6), остальное - значениями

Я так и делаю обычно, в своих файлах beer - у меня даже макрос копирования верхней строки в надстройке есть - постоянно им пользуюсь yes

Просто, если это файл не Игоря а руководству - то им же нужно еще объяснить как им пользоваться... а это, иногда, самое сложное :o
И еще действия макроса отменить нельзя - вот клацнут они что-то и все killed

Пытался сделать функцию быстрее чем СУММПРОИЗВ... что то так и не понял быстрее она или нет - протянул таблицу до конца листа - просчитало и так и так меньше чем за секунду...


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
Например, такой - формулы только в первой строке таблицы (в строке №6), остальное - значениями

Я так и делаю обычно, в своих файлах beer - у меня даже макрос копирования верхней строки в надстройке есть - постоянно им пользуюсь yes

Просто, если это файл не Игоря а руководству - то им же нужно еще объяснить как им пользоваться... а это, иногда, самое сложное :o
И еще действия макроса отменить нельзя - вот клацнут они что-то и все killed

Пытался сделать функцию быстрее чем СУММПРОИЗВ... что то так и не понял быстрее она или нет - протянул таблицу до конца листа - просчитало и так и так меньше чем за секунду...

Автор - SLAVICK
Дата добавления - 19.04.2016 в 11:49
китин Дата: Вторник, 19.04.2016, 12:02 | Сообщение № 11
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4327
Репутация: 673 ±
Замечаний: 0% ±

Excel 2007;Excel 2010
Игорь - с Вас отчет о тестировании

обе ЮДФ отработали на ура. на глаз разности в скорости незаметно. но..... на размер файла это они никак не повлияли. Разница 100 кб на 7 метрах это ничто. :'(
если это файл не Игоря а руководству

руководству я ручки затуплю напильником посредством установки защиты (с этим чуть позже). По их задумке должна быть единая диспетчерская таблица по всем изделиям, включаю покупные. наш доблестный кавторанг думает, что таблица из 20000 строк будет нагляднее , чем 10 таблиц по 2000 строк :D


Не судите строго:я пытаюсь научиться
ЯД 41001877306852/WM R249698041931; Z239672726538
 
Ответить
Сообщение
Игорь - с Вас отчет о тестировании

обе ЮДФ отработали на ура. на глаз разности в скорости незаметно. но..... на размер файла это они никак не повлияли. Разница 100 кб на 7 метрах это ничто. :'(
если это файл не Игоря а руководству

руководству я ручки затуплю напильником посредством установки защиты (с этим чуть позже). По их задумке должна быть единая диспетчерская таблица по всем изделиям, включаю покупные. наш доблестный кавторанг думает, что таблица из 20000 строк будет нагляднее , чем 10 таблиц по 2000 строк :D

Автор - китин
Дата добавления - 19.04.2016 в 12:02
SLAVICK Дата: Вторник, 19.04.2016, 12:10 | Сообщение № 12
Группа: Модераторы
Ранг: Старожил
Сообщений: 2000
Репутация: 673 ±
Замечаний: 0% ±

2007,2010,2013,2016
[offtop]
руководству я ручки затуплю напильником

надеюсь они не увидят этот пост :D
что таблица из 20000 строк будет нагляднее , чем 10 таблиц по 2000 строк

Ну тут на любителя - мне тоже проще пользоваться одной таблицей, чем кучей маленьких... В них же не видно связи с данными - может мне просто фантазии не хватает [/offtop]


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение[offtop]
руководству я ручки затуплю напильником

надеюсь они не увидят этот пост :D
что таблица из 20000 строк будет нагляднее , чем 10 таблиц по 2000 строк

Ну тут на любителя - мне тоже проще пользоваться одной таблицей, чем кучей маленьких... В них же не видно связи с данными - может мне просто фантазии не хватает [/offtop]

Автор - SLAVICK
Дата добавления - 19.04.2016 в 12:10
китин Дата: Вторник, 19.04.2016, 12:18 | Сообщение № 13
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4327
Репутация: 673 ±
Замечаний: 0% ±

Excel 2007;Excel 2010
[offtop]
надеюсь они не увидят этот пост

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

может быть. но это в случае, когда куча деталей унифицированы. а когда на каждый огромный заказ ( а у меня их порядка 15) идет свой набор деталей , наверно лучше делить детали по этим заказам. Но у них головы большие и умные.


Не судите строго:я пытаюсь научиться
ЯД 41001877306852/WM R249698041931; Z239672726538


Сообщение отредактировал китин - Вторник, 19.04.2016, 12:19
 
Ответить
Сообщение[offtop]
надеюсь они не увидят этот пост

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

может быть. но это в случае, когда куча деталей унифицированы. а когда на каждый огромный заказ ( а у меня их порядка 15) идет свой набор деталей , наверно лучше делить детали по этим заказам. Но у них головы большие и умные.

Автор - китин
Дата добавления - 19.04.2016 в 12:18
китин Дата: Вторник, 19.04.2016, 13:48 | Сообщение № 14
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4327
Репутация: 673 ±
Замечаний: 0% ±

Excel 2007;Excel 2010
ААААА а откуда туда флажок поставить , я ведь не знаю и какой макрос на него повесить????
[offtop]плохо быть тупым незнайкой :dont:
это ведь вкладка разработчик вставить элемент управления формы флажок???
а макрос то какой? у Саши в файле на ПКМ флажок не реагирует, то есть не посмотреть назначит макрос


Не судите строго:я пытаюсь научиться
ЯД 41001877306852/WM R249698041931; Z239672726538


Сообщение отредактировал китин - Вторник, 19.04.2016, 13:58
 
Ответить
СообщениеААААА а откуда туда флажок поставить , я ведь не знаю и какой макрос на него повесить????
[offtop]плохо быть тупым незнайкой :dont:
это ведь вкладка разработчик вставить элемент управления формы флажок???
а макрос то какой? у Саши в файле на ПКМ флажок не реагирует, то есть не посмотреть назначит макрос

Автор - китин
Дата добавления - 19.04.2016 в 13:48
_Boroda_ Дата: Вторник, 19.04.2016, 13:58 | Сообщение № 15
Группа: Модераторы
Ранг: Местный житель
Сообщений: 11269
Репутация: 4656 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
а откуда туда флажок поставить
Разработчик - Вставить - АктивИкс - Флажок

какой макрос на него повесить
Никакой. Мы просто проверяем в нем наличие галки вот здесь [vba]
Код
If CheckBox1.Value = False Then Exit Sub 'если галка не стоит - выход
[/vba]
Просто ткнись во влажок в моем файле, скопируй его и вставь у себя.


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
а откуда туда флажок поставить
Разработчик - Вставить - АктивИкс - Флажок

какой макрос на него повесить
Никакой. Мы просто проверяем в нем наличие галки вот здесь [vba]
Код
If CheckBox1.Value = False Then Exit Sub 'если галка не стоит - выход
[/vba]
Просто ткнись во влажок в моем файле, скопируй его и вставь у себя.

Автор - _Boroda_
Дата добавления - 19.04.2016 в 13:58
китин Дата: Вторник, 19.04.2016, 14:00 | Сообщение № 16
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4327
Репутация: 673 ±
Замечаний: 0% ±

Excel 2007;Excel 2010
у Саши в файле на ПКМ флажок не реагирует, то есть не посмотреть назначит макрос
как скопировать ? Ctrl+C тоже мимо


Не судите строго:я пытаюсь научиться
ЯД 41001877306852/WM R249698041931; Z239672726538
 
Ответить
Сообщение
у Саши в файле на ПКМ флажок не реагирует, то есть не посмотреть назначит макрос
как скопировать ? Ctrl+C тоже мимо

Автор - китин
Дата добавления - 19.04.2016 в 14:00
_Boroda_ Дата: Вторник, 19.04.2016, 14:02 | Сообщение № 17
Группа: Модераторы
Ранг: Местный житель
Сообщений: 11269
Репутация: 4656 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Сначала в Разработчике кнопку Конструктор ткни


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеСначала в Разработчике кнопку Конструктор ткни

Автор - _Boroda_
Дата добавления - 19.04.2016 в 14:02
китин Дата: Вторник, 19.04.2016, 14:43 | Сообщение № 18
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4327
Репутация: 673 ±
Замечаний: 0% ±

Excel 2007;Excel 2010
сунул макрос от _Boroda_, аж в 3 листа ( я правильно в модуль каждого листа пихал макрос и правил его в зависимости от листа?) все работает!!!!книга упала на метр!!!! Уже хорошо!!!!
только заметил , что при сортировке таблицы макрос не работает :'( это плохо.


Не судите строго:я пытаюсь научиться
ЯД 41001877306852/WM R249698041931; Z239672726538
 
Ответить
Сообщениесунул макрос от _Boroda_, аж в 3 листа ( я правильно в модуль каждого листа пихал макрос и правил его в зависимости от листа?) все работает!!!!книга упала на метр!!!! Уже хорошо!!!!
только заметил , что при сортировке таблицы макрос не работает :'( это плохо.

Автор - китин
Дата добавления - 19.04.2016 в 14:43
_Boroda_ Дата: Вторник, 19.04.2016, 15:18 | Сообщение № 19
Группа: Модераторы
Ранг: Местный житель
Сообщений: 11269
Репутация: 4656 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
при сортировке таблицы макрос не работает

Игорь, не тупи. Я ж писал
формулы только в первой строке таблицы (в строке 6)
А ты сортировкой формулу перемещаешь из первой строки в другое место.
Вынеси формулы в строку 4 и оттуда копируй. Сморти файл.

я правильно в модуль каждого листа пихал макрос и правил его в зависимости от листа?
Нет. tt и qq вообще нужно вынести в отдельный модуль. А оставшееся вообще править не нужно (если только на других листах диапазоны не изменились)

Добавлено
Файл перевложил. Сделал так, что 4-ю строку можно закрасить белым текстом (или формат ;;;, или еще как не показывать)
К сообщению приложен файл: UDF_15.xlsb(51Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
при сортировке таблицы макрос не работает

Игорь, не тупи. Я ж писал
формулы только в первой строке таблицы (в строке 6)
А ты сортировкой формулу перемещаешь из первой строки в другое место.
Вынеси формулы в строку 4 и оттуда копируй. Сморти файл.

я правильно в модуль каждого листа пихал макрос и правил его в зависимости от листа?
Нет. tt и qq вообще нужно вынести в отдельный модуль. А оставшееся вообще править не нужно (если только на других листах диапазоны не изменились)

Добавлено
Файл перевложил. Сделал так, что 4-ю строку можно закрасить белым текстом (или формат ;;;, или еще как не показывать)

Автор - _Boroda_
Дата добавления - 19.04.2016 в 15:18
китин Дата: Вторник, 19.04.2016, 15:22 | Сообщение № 20
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4327
Репутация: 673 ±
Замечаний: 0% ±

Excel 2007;Excel 2010
мдя.
не тупи
думать иногда надо %) :'( yes


Не судите строго:я пытаюсь научиться
ЯД 41001877306852/WM R249698041931; Z239672726538
 
Ответить
Сообщениемдя.
не тупи
думать иногда надо %) :'( yes

Автор - китин
Дата добавления - 19.04.2016 в 15:22
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Функция UDF замена СУММПРОИЗВ (Макросы/Sub)
Страница 1 из 11
Поиск:

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