У меня есть список классов, которые мои пользователи приняли, что я хочу добавить, какой доступ к имеющимся у них транспортным средствам, и если компания активировала свои значки для использования транспортных средств (вилочные подъемники и т.д). Поэтому я хотел объединить все строки классов для пользователя, а затем просто получить центрированный ответ. Когда я шаг за шагом прохожу, он работает, но конечным результатом является весь столбец данных, который объединяется. Мой вопрос у меня есть синтаксис неправильно, или я пытаюсь сделать что-то, что не может быть сделано в Excel 2013.VBA слияния автофильтрованных ячеек через .SpecialCells (xlCellTypeVisible) .Range
код я использую:
With Range("A1:K" & LastRow)
For i = 1 To UBound(FleetID, 1)
.AutoFilter Field:=5, Criteria1:=FleetID(i)
LastFilteredRow = .SpecialCells(xlCellTypeVisible).Cells(Rows.Count, "A").End(xlUp).Row
If LastFilteredRow > 1 Then
With .SpecialCells(xlCellTypeVisible).Range("R2:R" & LastFilteredRow)
.Select
.Merge
If FleetClass(i) = "Operator" Then .Value = "Standard" Else .Value = FleetClass(i)
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With 'std
With .SpecialCells(xlCellTypeVisible).Range("S2:S" & LastFilteredRow)
.Select
.Merge
.Value = FleetAct(i)
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With ' ' active
End If
Next i
.Columns("A:U").AutoFit
.Columns("E").ColumnWidth = 11
.Columns("H:I").ColumnWidth = 11
.Columns("N:N").ColumnWidth = 2
End With 'Range("A1:K" & LastRow)
Мой результат выйдет следующим