Решил всё же написать свою UDF. Это моя первая UDF, поэтому прошу не очень сильно пинать. Так же прошу модераторов извинить, что данный вопрос не совсем по теме, но он напрямую связан с решениями по ней. Если уж сильно нарушаю, готов вынести в отдельную тему.
Написанный мной код работает, и выдает результат в режиме процедуры. Так же, всё работает при запуске функции из тестовой процедуры "Sub control". Но непосредственно на листе выдает нулевой результат. Что я сделал не так?
Serg091, спасибо, что продолжаете уделять внимание. Ваш последний вариант на файле-примере, с моей доработкой расчета, ошибок не показал. Для понимания, прилагаю файл со всеми вариантами. Правильные в моём понимании - с зеленой заливкой.
Павел \Ʌ/, перенос Вашей формулы в рабочий файл вызвал у меня ряд затруднений, но я вроде справился. При этом выявил, что:
1. наличие пустых ячеек в столбце с критериями вызывает ошибку; 2. при выборе в фильтре любых позиций кроме первой выдает ноль. Возможно я все же не справился с переносом формулы в другой файл.
Так что спасибо, но решение Serg091 мне нравится больше.
Павел \Ʌ/, очень странно, в Вашем файле формула Serg091, из поста #6 дает результат отличающийся на 0,01 от моего, полученного вставкой той же формулы в мой файл образец в посте #5 . При полном соответствии всех исходных данных. Ваша формула на образце так же работает правильно.
Формулу Serg091, из поста #6 проверил на рабочем файле неточностей не выявил. Еще раз спасибо. Осталось разобраться с разными ставками НДС за разные периоды, но это уже другой вопрос.
Serg091, на втором листе воспроизвел логику расчета, поэтапно, если делать вручную. Хотелось бы автоматизировать и привязать к фильтру. Да, проблема именно с расхождениями по результатам округления. Приходится воевать с бухгалтерией.
Сильно подозреваю, что придется писать пользовательскую функцию, а хотелось бы обойтись штатными средствами.
Serg091, я думал, что понадобится что-то подобное, но итоговый результат выдает то же значение, что и в ячейке "F13". Т.е. с ошибкой. Вся проблема в том, что вычисление необходимо произвести раздельно, по каждому критерию, а уж затем общее суммирование.
Доброго всем. Имеется реестр записей сумм выполнения. Каким образом определить общую сумму по отфильтрованным данным столбца "B" при нескольких значениях? Список и количество значений произвольное. Пример предполагаемого принципа расчета приведен в столбце "H", в ячейке "H13". Сначала суммирование по конкретному критерию, затем на неё начисление НДС, и так по каждому критерию. Как видно, результат отличается от построчного вычисления в столбце "F", в ячейке "F13".
Очень любопытно, как Вы это сделали? Я делал текстовой формат ячейки, затем копировал в нее через "вставить значение".
Павел \Ʌ/, спасибо за отклик, но Вы не совсем правильно поняли. Смысл именно в том, чтобы при фильтрации тем, или иным способом, отображалась правильная сумма по смете.
Цитата
написал: Покажите в файле желаемый результат, сделанный вручную
Увы, я не знаю, как вписать сумму не учитываемую при суммировании, а то бы обязательно показал. Потому и обратился за помощью.
Извиняюсь за поздний ответ, но на работе нет доступа к интернету, а с телефона неудобно.
Всем здравствуйте. Формируется реестр, с привязкой субподряда. По смете может быть один подрядчик на всю сумму, или не на всю, но может быть и более одного подрядчика. Подскажите, каким образом в столбце "B" для второго подрядчика (Подрядчик1 дог2) по смете 02-01-10 отобразить генподрядную сумму сметы, но так, чтобы итоговая сумма осталась без изменений? Ввод как текста не помогает, да и фильтровать тогда неудобно.
V, Заполняется форма по комплекту документов. Изначально, использовал Textbox, выяснилось что тексты данного поля весьма часто повторяются. Захотелось облегчить себе жизнь, при этом не плодить лишних элементов.
Цитата
написал: П.С. странная задача каждый раз делать новый список.
У другого комплекта это поле зачастую имеет иную текстовку, так что нет смысла его сохранять.
Добрый день. Подскажите, как заполнить Combobox текстом вводимым с клавиатуры? Пробовал так:
Код
Private Sub ИмяЛСР2_Change()
With ИмяЛСР2
.AddItem ИмяЛСР2.Text
End With
End Sub
и так:
Код
Private Sub ИмяЛСР2_Change()
Dim sText As String
With ИмяЛСР2
sText = Trim$(ИмяЛСР2.Value)
.AddItem sText
End With
End Sub
Но в результате Combobox заполняется посимвольно, по мере ввода. А хотелось бы только осмысленными, завершенными, словами (словосочетаниями). Сохранять полученный список никуда не надо он каждый раз разный.
Доброго времени, друзья. Недавно пришлось заниматься дурным делом: для более 30 файлов надо было создать папки с такими же названиями, и переместить файлы в соответствующие папки. Поскольку лень двигатель прогресса, я решил что в дальнейшем комп должен это делать сам. Надергал с разных источников нужных мне кодов (сам я знаток не очень), и собрал в нужном мне виде. Работает. Кроме перемещения файлов. Что я сделал не так? Выдает ошибку, что файл уже существует, на этой строке:
DANIKOLA, при вводе выглядит так, как хотелось бы, но не воспринимает запятую для дробной части, только точку. Msgbox у меня почему-то не выводится, проверить результат не смог. Буду дома, поковыряюсь. Спасибо'
Добрый вечер, знатоки VBA. Возможно ли в TextBox по мере ввода числа сделать его визуальную разбивку по разрядам? Число в дальнейшем будет задействовано в расчетах, поэтому использование маски с пробелами нежелательно. Числа могут быть более 6-8 разрядов, а из-за слитного написания, при вводе случаются ошибки ввода.
Большое спасибо за отклик. Но все предложения предполагают установку дополнительного софта. К сожалению это в условиях организации неосуществимо, правила безопасности очень жесткие. Поэтому я и искал способ решить задачу штатными средствами MS Office.