Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 4 5 6 След.
Ошибка при фильтрации по датам
 
Спасибо! Значит просто расширить диапазон нужно, фильтруемый.
Ошибка при фильтрации по датам
 
gling,точно не поэтому
.Range("A:X").AutoFilter - это добавляет фильтр, независимо от того был он там или нет
Например, если его убрать с листа Расхождения2, то он будет добавлен автоматически.
С другой стороны, если заранее включить фильтр на первом листе, то все работает.
Тогда возникает вопрос: почему на один лист фильтр добавляется, а на другой тем же самым кодом - не хочет???
Ошибка при фильтрации по датам
 
В качестве критериев фильтрации использую значения ячеек с другого листа:
Код
With Sheets("Расхождения")
    datapi = Sheets("Макрос").Range("B3") - 1
    datai = Sheets("Макрос").Range("F5")
    For u = 1 To .UsedRange.Columns.Count
        If .Cells(1, u).Value Like "Дата учета" Then
            .Range("A:X").AutoFilter Field:=u, Criteria1:= _
            "<=" & CDbl(CDate(datapi)), Operator:=xlAnd, Criteria2:=">=" & CDbl(CDate(datai))
        End If
    Next
    End With
При попытке фильтрации выдает ошибку. Обычно этот метод работает. В этом можно убедиться если в файле-примере поменять в коде "Расхождения" на "Расхождения 2". На листе "Расхождения 2" схожие данные. При этом ошибки там не возникает.
Ошибка при копировании видимых ячеек после фильтрации
 
Все способы работают, спасибо!!!
Ошибка при копировании видимых ячеек после фильтрации
 
Цитата
Nordheim написал:
Это что
Определяет количество видимых ячеек
Ошибка при копировании видимых ячеек после фильтрации
 

Здравствуйте! При попытке скопировать после фильтрации видимые строки выдается ошибка:

"Не найдено ни одной ячейки, удовлетворяющей указанным условиям"

Код
With List4
        lrv = Application.CountA(.Columns(1).SpecialCells(12))
        If lrv > 2 Then
            .Range(.Cells(2, 1), .Cells(lrv, 3)).SpecialCells(12).Copy List3.[A1]
        End If
End With
Код фильтрации по времени по-разному ведет себя на разных данных
 
Kuzmich, не прокатило. Даже если везде одинаковые форматы сделать
Код фильтрации по времени по-разному ведет себя на разных данных
 
sokol92, Спасибо, так работает! Str() определяет тип данных как время, я правильно понял?
Код фильтрации по времени по-разному ведет себя на разных данных
 
Здравствуйте! Возникла проблема с фильтрацией:
Код
With Лист2
    threecol = Лист1.[I6]
    .[A:S].AutoFilter Field:=3, Criteria1:="Товар оприходован"
    .[A:S].AutoFilter Field:=11, Criteria1:=">" & threecol
End With
Первый шаг работает, а на втором фильтр убирает все данные. Но если открыть его вручную, то в нем будет стоять необходимое значение
Срабатывает он только после нажатия ОК.
Примечательно то, что этот затык наблюдается не у всех пользователей. Версии Excel разные. Может в этом причина?
На всякий случай сделал файл с примером.
Изменено: IvanMantrov - 22 Июн 2018 16:01:50
Редактирование макроса для Excel в Visual Studio
 
))) ему-то какая разница где я макросы пишу. А вот мне бы VS пригодилась для изучения других языков
Да и речь тут больше об IT-Службе. Им на каждую программу обоснование нужно.
Изменено: IvanMantrov - 11 Июн 2018 20:35:40
Редактирование макроса для Excel в Visual Studio
 
Т.е. запускать его оттуда как в самом Excel не получится?
Редактирование макроса для Excel в Visual Studio
 
Здравствуйте!
Заранее прошу прощения, если вопрос идиотский.
Кто знает возможно ли для разработки/редактирования макросов в документах Excel использовать не встроенную среду, а MS Visual Studio?
Хотя бы чисто теоретически. Нужно обосновать начальству зачем мне нужно на рабочий ноут установить VS. Изучение C# с нуля в мои обязанности не входит, а вот макросы для всего департамента одобряют всегда. Вот я и подумал не попростить ли эту программу и не убить ли двух зайцев.
Удаление промежуточных итогов из сводной таблицы
 
Видимо иногда полезно долго ждать ответа )))
Пока ждал сам придумал. Работает:
Код
Dim pf As PivotField
With ActiveSheet.PivotTables("СводнаяТаблица2")
        For Each pf In .PivotFields
            pf.Subtotals(1) = False
        Next
End With
Изменено: IvanMantrov - 10 Июн 2018 19:04:37
Удаление промежуточных итогов из сводной таблицы
 
Доброго всем дня!
Если создавать сводную таблицу с записью кода макрорекодером, то удаление промежуточных итогов выглядит так:
Код
ActiveSheet.PivotTables("СводнаяТаблица2").PivotFields("Корзина").Subtotals = _
        Array(False, False, False, False, False, False, False, False, False, False, False, False)
ActiveSheet.PivotTables("СводнаяТаблица2").PivotFields("Дата корзины"). _
        Subtotals = Array(False, False, False, False, False, False, False, False, False, False, _
        False, False)
Здесь на форуме прочитал, что все можно упростить до такого варианта, чтобы избавиться от этого множества false:
Код
ActiveSheet.PivotTables("СводнаяТаблица2").PivotFields("Корзина").Subtotals(1) = False
ActiveSheet.PivotTables("СводнаяТаблица2").PivotFields("Дата корзины").Subtotals(1) = False
В связи с этим появился вопрос, а можно ли пойти дальше и разом отключить итоги для всех полей таблицы. В этом примере их всего два, но бывает значительно больше. Или все же нужно прописывать это для каждого в отдельности?
Квадратные скобки вместо "Range" в коде
 
Доброго всем дня!
Решил упростить код, и вообще освоить более простые методы его написания. Например:
Код
.[C1] = "Сумма"
вместо
Код
.Range("C1") = "Сумма"
В связи с этим возник вопрос как с помощью этого же принципа переделать вот это:
Код
.Range("E2:E" & lr) 'тут переменная обозначает нижний край выделения
и это:
Код
.Range("J2", .Range("K2").End(xlDown))
Можно ли, используя квадратные скобки, полностью избавиться от всех этих "Range"?
Преобразование значения в формулу (подстановка знака равенства)
 
Спасибо, все работает!
Преобразование значения в формулу (подстановка знака равенства)
 
А можно на примере? Просто не могу привязать это к диапазону. Например Range("A2", Range("A2").End(xlDown))
Преобразование значения в формулу (подстановка знака равенства)
 
Здравствуйте!
Подскажите пожалуйста: есть ячейки со значениями наподобие: "355+675" Но это не формула, так как знака равенства в начале нет.
Как макросом вставить в заданном диапазоне знак равенства в начале значения каждой ячейки. И будут ли они восприниматься как формулы?
Файл .xlsm на 30КБ открывается минуты три
 
Блин, прошу прощения, надо было еще раз проверить принтер. Почему-то сетевой стал принтером по умолчанию опять, а я не заметил.
Таки да, все действительно летает. Вопрос закрыт! )))
Файл .xlsm на 30КБ открывается минуты три
 
Здравствуйте! Есть небольшой файлик с макросом, который очень долго открывается. При этом сохраняется моментом, да и весит совсем чуть-чуть.
Иногда так бывает, если он сетевой принтер пытается найти, но принтер по умолчанию выбрал PDFCreator, обычно помогает, но не в этот раз.
В чем еще может быть причина? Миллионов пустых строк нет. Листа всего 2. Сам макрос проще некуда. Ссылок на другие книги в формулах тоже нет.
Определение последней строки с данными (если неизвестно какой столбец больше)
 
Ого, столько вариантов! Спасибо!
Определение последней строки с данными (если неизвестно какой столбец больше)
 
Доброго всем дня!
Обычно пользуюсь вот такой функцией:
Код
lr = .Cells(.Rows.Count, 1).End(xlUp).Row
Однако это работает только для конкретного столбца, первого в данном примере, а есть ли способ определить последнюю заполненную ячейку, если неизвестно в каком она столбце, т.е. нужно максимальное значение из всех.
Счет непустых строк: почему и при 1, и при 0 результат ноль?
 
Спасибо!
Счет непустых строк: почему и при 1, и при 0 результат ноль?
 
gling,А каким методом тогда нужно считать, чтобы при пустом столбце получался ноль?
Счет непустых строк: почему и при 1, и при 0 результат ноль?
 
БМВ,Т,е. если столбец пустой, то значение будет "1" и если в столбце одна ячейка заполнена, то тоже "1"???
Счет непустых строк: почему и при 1, и при 0 результат ноль?
 
Anchoret,Да. Это в примере он один, а в реале их будет много и неизвестно в каком порядке, так что цикл ищет название столбца
Счет непустых строк: почему и при 1, и при 0 результат ноль?
 
Всем доброго дня!
При копировании использую переменную (lrdk), в которой заложено количество непустых строк в столбце, однако даже если столбец пустой, то значение переменной равно единице. Пример во вложении.
Код
With Лист1
lr = .Cells(.Rows.Count, 1).End(xlUp).Row
lrdk = Sheets("ДопКорзины").Cells(Rows.Count, 1).End(xlUp).Row
    For j = 1 To .UsedRange.Columns.Count
        If .Cells(1, j).Value Like "Номер" Then
            If lrdk > 0 Then
            .Range(.Cells(1, j), .Cells(lr, j)).Copy Sheets("ДопКорзины").Cells(lrdk + 1, 1)
            Else
            .Range(.Cells(1, j), .Cells(lr, j)).Copy Sheets("ДопКорзины").Range("A1")
            End If
        End If
    Next
End With
Изменено: IvanMantrov - 9 Мар 2018 23:00:48
Как заставить DateValue возвращать дату в российском формате (дд.мм.гггг)
 
skais675, Заработало наконец. Спасибо огромное!
Как заставить DateValue возвращать дату в российском формате (дд.мм.гггг)
 
БМВ, да нет вроде. Если отталкиваться от примера, вот что предполагалось: 05.01.2018
и вот что оказалось в итоге в фильтре: 01/05/18
Изменено: IvanMantrov - 6 Фев 2018 15:47:47
Как заставить DateValue возвращать дату в российском формате (дд.мм.гггг)
 
Цитата
vikttur написал:
Прикрепите нормальный пример к первому сообщению
Упростил. Прикрепил.
Страницы: 1 2 3 4 5 6 След.
Наверх