У меня есть следующий список:VBA: Фильтрация списка и сохранение результата, как именованные диапазоны
Я хочу, чтобы сделать код VBA фильтрации различных имен, которые хранят они работают, и хранение привести к именованному диапазону с именем магазина, а диапазон - имена из списка, работающего в этом хранилище.
Например, названные диапазоны будут лондонскими ячейками B2 и B7 и т. Д.
EDIT:
Я знаю, что это неправильно, но я просто не могу решить эту проблему. VBA просто не то, что я хочу, чтобы он был в данный момент ... Сначала я создал новый столбец названных диапазонов, а затем продолжил.
Sub NamedRange()
Dim arr() As Variant
arr = Sheet1.Range("D2:D4").Value
Dim i As Integer
Dim j As Integer
Dim Name As String
Dim k1 As Range, k2 As Range
Lastrow = .Cells(.Rows.Count, "A").End(xlUp).Row
i = 0
Do While i < 4
Name = arr(i)
For j = 1 To Lastrow
k1 = Match(arr(i), Cells(i, 1).Value, 0)
k2 = Union(k1, k2)
Next j
Range(k2).Select
Application.Goto Reference:=arr(i)
Loop
End Sub
EDIT2: в течение двух часов, пытаясь понять функцию AdvancedFilter. Сделал его работу с использованием опции x1FilterCopy, но весь мой лист Excel будет бесполезным. Есть ли способ фильтрации и просто хранить отфильтрованный диапазон в переменной. Бог, VBA, почему вы так поступили?
Пытались ли вы что-нибудь? –
@Scott Craner: Да, конечно. Но я действительно не знаю, как напасть на это. Я думаю, мне нужно выяснить, как хранить каждый отдел в каком-то массиве (как я не уверен), а затем создать цикл for для каждого объекта в массиве, где я каким-то образом фильтрую нужные ячейки из первого столбца и сохраняю Я отфильтрован в именованном диапазоне. Я просто совершенно новый для этого VBA и не могу думать прямо. – Erosennin
Это точно, как это сделать. Так что каждый сайт по-отдельности, попытайтесь собрать их вместе. Затем вернитесь с кодом, когда вы столкнетесь с конкретной проблемой. Примечание. Именованный диапазон будет работать до тех пор, пока кто-то не сортирует данные, тогда вам нужно будет изменить имена диапазонов. поэтому вам также нужно будет искать события изменения рабочего листа. –