powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Очень важно! Автофильтр в Excel 2003.
5 сообщений из 5, страница 1 из 1
Очень важно! Автофильтр в Excel 2003.
    #34191410
KubineZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Очень срочно нужно закончить работу, помогите с решением:

Прилагаю рисунок, иначе не знаю смогу ли объяснить..
Скажем так:
В столбце А все ячейки объединены по 4 строки. В столбце Б объединений нет.
Необходимо выбирая автофильтром значения в А получать в столбце Б не одну строку, а все 4,
которые соответствуют 1 объединенной в А.
Очень важно, жду любой способ. Заранее спасибо.
...
Рейтинг: 0 / 0
Очень важно! Автофильтр в Excel 2003.
    #34192193
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сделай ещё один столбец где пропиши нужные данные и по нему фильтруй
...
Рейтинг: 0 / 0
Очень важно! Автофильтр в Excel 2003.
    #34192461
KubineZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkodorсделай ещё один столбец где пропиши нужные данные и по нему фильтруй

К сожалению не подойдет: фильтрация будет проходить по нескольким столбцам,
данные должны ежемесячно обновляться.
...
Рейтинг: 0 / 0
Очень важно! Автофильтр в Excel 2003.
    #34192677
vbapro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вместо автофильтра сделай на листе комбо. в код листа помести этот код:
соотв. ComboBox1 замени на название твоего комбо,
StartRow - ряд начала таблицы
ComboBox1_Fill - запускать перед использованием. если данные постоянно меняются, то в обработчик изменений на листе можно поместить


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
Option Explicit
Const StartRow =  3 
Private InProcess As Boolean

Private Sub ComboBox1_Change()
Dim RowIndex As Long
Dim ShowThisRow As Boolean
Dim LastRow  As Long

    If InProcess = True Then Exit Sub

    ShowThisRow = False
    
     LastRow = UsedRange.Row + UsedRange.Rows.Count
    For RowIndex = StartRow To  12 
        If Cells(RowIndex,  1 ).Value = "" Then
            If ShowThisRow Then
                Rows(RowIndex).Hidden = False
            Else
                Rows(RowIndex).Hidden = True
            End If
            
        Else
            Debug.Print Cells(RowIndex,  1 ).Value
            If Cells(RowIndex,  1 ).Value Like Me.ComboBox1.Value Then
                ShowThisRow = True
                Rows(RowIndex).Hidden = False
            Else
                ShowThisRow = False
                Rows(RowIndex).Hidden = True
            End If
        End If
        
        If Me.ComboBox1.Value = "Show all" Then
            Rows(RowIndex).Hidden = False
            ShowThisRow = False
        End If
        
    Next RowIndex

End Sub

Private Sub ComboBox1_Fill()
Dim RowIndex As Long
    
    InProcess = True
    
    Me.ComboBox1.Clear
    Me.ComboBox1.AddItem "Show all"
    For RowIndex = StartRow To Cells.SpecialCells(xlCellTypeLastCell).Row
        If Cells(RowIndex,  1 ).Value <> "" Then
            Me.ComboBox1.AddItem Cells(RowIndex,  1 ).Value
        End If
    Next RowIndex
    
    InProcess = False

End Sub
...
Рейтинг: 0 / 0
Очень важно! Автофильтр в Excel 2003.
    #34192683
vbapro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в цикле константа стояла, вот правильный код

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
Option Explicit
Const StartRow =  3 
Private InProcess As Boolean

Private Sub ComboBox1_Change()
Dim RowIndex As Long
Dim ShowThisRow As Boolean
Dim LastRow  As Long

    If InProcess = True Then Exit Sub

    ShowThisRow = False
    
    LastRow = UsedRange.Row + UsedRange.Rows.Count
    For RowIndex = StartRow To LastRow
        If Cells(RowIndex,  1 ).Value = "" Then
            If ShowThisRow Then
                Rows(RowIndex).Hidden = False
            Else
                Rows(RowIndex).Hidden = True
            End If
            
        Else
            Debug.Print Cells(RowIndex,  1 ).Value
            If Cells(RowIndex,  1 ).Value Like Me.ComboBox1.Value Then
                ShowThisRow = True
                Rows(RowIndex).Hidden = False
            Else
                ShowThisRow = False
                Rows(RowIndex).Hidden = True
            End If
        End If
        
        If Me.ComboBox1.Value = "Show all" Then
            Rows(RowIndex).Hidden = False
            ShowThisRow = False
        End If
        
    Next RowIndex

End Sub
Private Sub ComboBox1_Fill()
Dim RowIndex As Long
    
    InProcess = True
    
    Me.ComboBox1.Clear
    Me.ComboBox1.AddItem "Show all"
    For RowIndex = StartRow To Cells.SpecialCells(xlCellTypeLastCell).Row
        If Cells(RowIndex,  1 ).Value <> "" Then
            Me.ComboBox1.AddItem Cells(RowIndex,  1 ).Value
        End If
    Next RowIndex
    
    InProcess = False

End Sub
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Очень важно! Автофильтр в Excel 2003.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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