powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / автоматическая сортировка по месяцу ?
5 сообщений из 5, страница 1 из 1
автоматическая сортировка по месяцу ?
    #37218142
postrelll
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дорогие форумчане, буду благодарен вам за помощь. Требуется следующее - мой макрос сводит определенное количество данных в единую таблицу. В одном из столбцов есть поле с Датой. Мне требуется сделать возможность автоматического фильтра по определенному месяцу. Первое и самое простое что пришло в голову - это использование функции автофильтра:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Sub tester()
Dim user_date( 31 ) As String
Dim month As String
Dim year As String

    year = Application.InputBox("введите год")
    month = Application.InputBox("введите номер месяца")
    For i =  1  To  31 
        user_date(i) = Format(i & "." & month & "." & year, "dd/mm/yy")
    Next i
     
    ActiveSheet.Range("$A$1:$J$1000").AutoFilter Field:= 5 , Criteria1:=Array(user_date, "="), Operator:=xlFilterValues
End Sub
Естественно минусов здесь миллион - не работает в excel ниже 2007 версии, слишком лобовой метод. Возможно кто-то сталкивался с подобной задачей и нашел более красивое решение? спасибо.
...
Рейтинг: 0 / 0
автоматическая сортировка по месяцу ?
    #37218161
NullUzer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
postrelll,

Так тебе нужна сортировка или фильтрация? Ты уж определись. :)
...
Рейтинг: 0 / 0
автоматическая сортировка по месяцу ?
    #37218339
postrelll
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
фильтрация
...
Рейтинг: 0 / 0
автоматическая сортировка по месяцу ?
    #37218412
NullUzer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
postrelll,

1. Не объявлена переменная i .
2. Какой у тебя Option Base?
Код: plaintext
1.
2.
3.
4.
5.
Dim user_date( 31 ) As String
...
For i =  1  To  31 
        user_date(i) = Format(i & "." & month & "." & year, "dd/mm/yy")
Next i
Если Option Base 0, то в user_date(31) - 32 значения. Лучше так: Dim user_date(1 To 31) в независимости от Option Base.

3. Ты уверен, что в КАЖДОМ месяце 31 день?
...
Рейтинг: 0 / 0
автоматическая сортировка по месяцу ?
    #37218455
NullUzer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
NullUzer,

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Sub tester()

    Dim user_date( 1  To  31 ) As String
    Dim month As String
    Dim year As String
    Dim i As Integer

    year = Application.InputBox("введите год")
    month = Application.InputBox("введите номер месяца")
    
    For i =  1  To  31 
        user_date(i) = Format(IIf(i <=  9 , "0", "") & i & "." & month & "." & year)
    Next i
     
    ActiveSheet.Range("$A$1:$J$1000").AutoFilter Field:= 5 , Criteria1:=Array(user_date), Operator:=xlFilterValues
    
End Sub
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / автоматическая сортировка по месяцу ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]