Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / автоматическая сортировка по месяцу ? / 5 сообщений из 5, страница 1 из 1
15.04.2011, 12:18
    #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
15.04.2011, 12:27
    #37218161
NullUzer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
автоматическая сортировка по месяцу ?
postrelll,

Так тебе нужна сортировка или фильтрация? Ты уж определись. :)
...
Рейтинг: 0 / 0
15.04.2011, 13:36
    #37218339
postrelll
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
автоматическая сортировка по месяцу ?
фильтрация
...
Рейтинг: 0 / 0
15.04.2011, 13:55
    #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
15.04.2011, 14:07
    #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
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / автоматическая сортировка по месяцу ? / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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