Привет, здесь очень много нового для макросов Excel, работающих на одном из них, который сортируется с использованием автофильтра. Он отлично работает и делает то, что я хочу, только когда я пытаюсь прибегнуть к данным, которые он показывает, в неправильном листе. Во всяком случае вот мой макросЭкземпляр макроса вызывает странное поведение
Sub Hide_Unassigned()
Worksheets("Resource View (2)").Activate
Dim LastRow As Long, c As Range
Application.EnableEvents = False
LastRow = Cells(Cells.Rows.Count, "D").End(xlUp).Row
ActiveWorkbook.Worksheets("Master Data").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Master Data").AutoFilter.Sort. _
SortFields.Add Key:=Range("Z1:Z200"), SortOn:=xlSortOnValues, Order:= _
xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Master Data").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
On Error Resume Next
For Each c In Range("D1:D" & LastRow)
If c.Value = "Unassigned" Then
c.EntireRow.Hidden = True
Else
c.EntireRow.Hidden = False
End If
Next
ActiveWorkbook.Worksheets("Master Data").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Master Data").AutoFilter.Sort. _
SortFields.Add Key:=Range("D1:D200"), SortOn:=xlSortOnValues, Order:= _
xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Master Data").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
On Error GoTo 0
Application.EnableEvents = True
End Sub
Как я сказал, что все работает нормально, за исключением, когда я пытаюсь заново сортировать данные в основных данных он показывает в представлении ресурсов (2) листа. Затем его можно удалить, просто перетащив его, но я не думаю, что это достаточно.
Заранее спасибо за любые предложения или помочь
Рад, что вы отсортировали его! Два предложения: 1) Отправьте свой фиксированный код здесь в своем ответе (отредактируйте его и вставьте в него), чтобы другие могли воспользоваться вашими изменениями. 2) Я по-прежнему рекомендую вам уйти от «Active *» (как я рекомендовал в своем ответе), потому что он устранит такие проблемы. – FreeMan