Автофильтр сортирует данные по вертикали, но я хочу фильтровать строки по горизонтали. Допустим, у меня есть следующая таблица:
1 2 2 1 2
B A E F F
B D E F F
C D E F F
Что я могу сделать, так это установить автофильтр и фильтровать только строки, содержащие «B» в первом столбце. Что я хотел бы сделать, так это отфильтровать только строки, содержащие «2» (в этом случае строки являются вторыми, третьими и последними в этом случае).
Я нашел некоторую информацию по этому поводу. Все найденные мной ответы содержат некоторые макросы для выполнения работы, но они были написаны для MS Excel и несовместимы с OpenOffice.
Например, этот макрос должен фильтровать строки, но не работает в OpenOffice Calc:
Option Explicit
Sub horizontal_filter()
'Erik Van Geit
'060910
Dim LC As Integer 'Last Column
Dim R As Long
Dim i As Integer
Dim FilterValue As String
Const FilterColumn = 1 '1 is most logical value but you may change this
R = ActiveCell.Row
LC = Cells(R, Columns.Count).End(xlToLeft).Column
FilterValue = Cells(R, FilterColumn)
Application.ScreenUpdating = False
'to filter starting after FilterColumn
For i = FilterColumn + 1 To LC
'to filter all columns even before the filtercolumn
'For i = 1 To LC
If i <> FilterColumn Then
Columns(i).Hidden = Cells(R, i) <> FilterValue
End If
Next i
Application.ScreenUpdating = True
End Sub
Любая помощь приветствуется!