Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Поиск значений в отфильтрованном столбце.
 
Здравствуйте уважаемые форумчане.

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


подскажите пожалуйста как искать конкретную дату вводя ее в область поиска?

И второй вопрос, далее следует столбец с номером договора, как в той же области поиска настроить чтобы, если вводишь 16, оно не выдавало все ячейки в которых содержится это число, а только ту, которая строго равна 16 (т.е. в ячейке содержится только число 16, формат правда общий).
Наложение фильтра средствами VBA.
 
А то столкнулся с тем что некоторые ячейки по которым ищем объединены и оно выдаёт сумму не по тому столбцу!!
Наложение фильтра средствами VBA.
 
Так что можно сделать чтобы искало по стобцу? По номеру.
Как проверить записано что либо в объединённых ячейках?
 
Собственно вопрос такой: как проверить записано чтонибудь в объединённых ячейках U18:U20 и S19:S20, если нет то внести туда слово "Счёт"!!
Наложение фильтра средствами VBA.
 
Tester, а что поменяется в коде если будет вариант :  
1) Числом - 5 (пятый столбец) (ну либо соответсвующая ему буква Е)??  
 
И возможно ли реализовать чтобы одинаково воспринимал и Число(букву) и Название("К-во" например), тоесть чтобы небыло разницы введём мы то или другое!!??
Наложение фильтра средствами VBA.
 
Вопрос в предыдущем посте почти снят, на базе последнего примера Tester написал код вроде работает, буду тестить кароч :)
Наложение фильтра средствами VBA.
 
А можно допустим как в Си написать функцию которая будит возвращать следующее:  
а = Функция(входящий параметр1(счёт),входящий параметр2(столбец по которому идёт суммирование)), таккая конструкция вообще имеет место в VBA??
Наложение фильтра средствами VBA.
 
Названием, например если мне нужен не столбец К-во а например Оклад и сумму уже по этому столбцу!! Возможно??
Наложение фильтра средствами VBA.
 
Вводим номер счёта и столбец по которому суммируем (походу получается iRng и iInvoiceNum на вход), на выходе Application.Sum(.Columns(iRng.Column).SpecialCells(xlVisible))!! Былобы здорово!!
Наложение фильтра средствами VBA.
 
У меня возник ещё вопрос возможно ли написать функцию, так чтобы на вход мы подавали Номер счёта, iRng(необязательно столбец К-во) ну а на выходе так и остаётся Сумма по выбранному столбцу??
Наложение фильтра средствами VBA.
 
Нет извини Tester, значения неправильные не из-за кода, так что твоё вроде как работает всё!! Спасибо огромное!!
Наложение фильтра средствами VBA.
 
Tester, перенёс ваш код всё запускается без ошибок, теперь осталось узнать почему некоторые числа не совпадают Так что буду разбираться!!
Наложение фильтра средствами VBA.
 
Спасибо тестируемый файл отрабатывает как нужно, применю его на основной отпишусь как отработает!!
Наложение фильтра средствами VBA.
 
Не принципиально всёравно не работает покачто!!
Наложение фильтра средствами VBA.
 
Ну вот так приблизительно!!
Наложение фильтра средствами VBA.
 
А начинаются с 19 так как перед таблицей есть ещё шапка, а так ничего не меняется особо ну ещё столбцы добавляються, но они мне для данной задачи не нужны поэтому и обрезал таблицу!!
Наложение фильтра средствами VBA.
 
Также ещё заметил, что в .Cells(Rows.Count, "A") при изменении "A" на чтонить другое выдаваемое значение 0. Хотя в Application.Sum(.Columns(iRng.Column).SpecialCells(xlVisible)) значения iRng.Column=4 и xlVisible=12 так и остаються, правдо не знаю как внутри работает эта функция!!
Наложение фильтра средствами VBA.
 
Ну и тогда сразу ещё пару вопросов: после изменения .Range("A2:N" & .Cells(Rows.Count, "A").End(xlUp).Row).AutoFilter получаю на выходе один результат 1439 для любого вводимого параметра.
Наложение фильтра средствами VBA.
 
Да 19 и 20 строка действительно так нужно, просто я применяю уже ко всему документу, а он значительно больше чем пример, его я специально урезал(данные в документе с B20 по AY590 где-то так). А вообще ваш пример очень хорош вот только iRng почему-то Nothing(получаеться что не находит!! И поле счёт в исходном документе уже в S так что буду смотреть и стараться разбираться!!
Наложение фильтра средствами VBA.
 
Грубо говоря не отрабатывает .Range("A2").AutoFilter ибо всё остальное вроде как имеет значения!!
Наложение фильтра средствами VBA.
 
Dim iRng As Range, iInvoiceNum As String  
     
   Application.ScreenUpdating = False  
     
   With Worksheets("Лист1")  
       'если нет автофильтра, то ставим его  
       If .AutoFilterMode = False Then .Range("B20:AY" & .Cells(Rows.Count, "B")).AutoFilter  
n = .Cells(Rows.Count, "B")  
       MsgBox n ПОЛУЧАЮ НА ВЫХОДЕ 0 видимо не отрабатывает  
       'определяем ячейку со Счётом  
       Set iRng = .Rows("19:20").Find(What:="Счёт", LookIn:=xlFormulas, LookAt:=xlWhole)  
       'запрашиваем номер Счёта  
       iInvoiceNum = Application.InputBox("Укажите номер счета по которому нужно отфильтровать", "Номер счета", , , , , , 2)  
       If iInvoiceNum = "" Then Exit Sub  
       'устанавливаем фильтр на столбец Счёт  
       If .AutoFilterMode = True Then .Range("A2").AutoFilter Field:=iRng.Column, Criteria1:=iInvoiceNum  
       'ищем столбец К-во  
       Set iRng = .Rows("19:20").Find(What:="К-во", LookIn:=xlFormulas, LookAt:=xlWhole)  
       'переносим сумму по столбцу К-во на Лист2 в ячейку А1  
       Worksheets("Лист2").Range("A1") = Application.Sum(.Columns(iRng.Column).SpecialCells(xlVisible))  
       'отображаем всю информацию  
       .ShowAllData  
   End With  
   MsgBox "Смотрите Лист2. Кол-во: " & Worksheets("Лист2").Range("A1")  
 
AutoFilterMode = False не знаю куда прилепить ибо не отрабатывает пока!!  
записей кстати много порядка 600!!
Наложение фильтра средствами VBA.
 
И ещё достаточно ли просто вконце поставить AutoFilterMode = False чтобы выключить автофильтр!!
Наложение фильтра средствами VBA.
 
А чем отличаются:  
.Range("A1:N" & .Cells(Rows.Count, "A")).AutoFilter  
и  
.Range("A2:N" & .UsedRange.Rows.Count).AutoFilter ??
Наложение фильтра средствами VBA.
 
Спасибо, щас буду до конца разбираться, но вроде всё окей!! Если что буду ещё спрашивать!!
Наложение фильтра средствами VBA.
 
А можно поподробнее эту строчку, а то на ней ошибку выкидывает?  
 
.Range("A21:AY" & .UsedRange.Rows.Count).AutoFilter расширил диапазон "A2:N", применительно к исходному документу.  
 
Run-time error '1004':  
Метод AutoFilter из класса Range завершён неверно.  
 
И ещё что значит: .Rows("1:2") цифры 1:2?
Наложение фильтра средствами VBA.
 
И ещё вопрос сразу можно ли будет после такой фильтрации возвращать всё как было и накладывать другой фильтр, для подсчёта уже по другим значениям?
Наложение фильтра средствами VBA.
 
Добавлю всё-таки кусочек файла, повторюсь: как в нём средствами VBA сделать фильтр по столбцу Счёт, а затем например на столбец Кол-во наложить функцию Промежуточные.Итоги() и занести это всё в отдельный лист?? Если что надумаете пишите.
Наложение фильтра средствами VBA.
 
Не буду просить сделать за меня задание прошу только помочь с подбором материала по этому вопросу!! Задача состоит в следующем: есть большая таблица, из неё составляем отчёты, в отчётах присутствуют ссылки на листы с уже отфильтрованными данными и например применёнными к ним функцией ПРОМЕЖУТОЧНЫЕ.ИТОГИ!! В итоге надо избавиться от этих промежуточных листов и программно всё сделать, чтобы в VBA мы наложили фильтр, затем применили к нужному столбцу функцию и занесли результат в лист с отчётом.
Страницы: 1
Наверх