Я пытаюсь отсортировать список с помощью Range.Sort
. Но я могу sh я мог бы отсортировать только по части значения ячейки. Просто цифры слева направо, чтобы быть более точным. Есть ли способ отфильтровать значение в середине команды сортировки? См. Прилагаемые примеры значений, которые могут содержаться в параметре Key1
. Строки не имеют стандарта. Иногда могут содержать символы, такие как ± или + или -, иногда просто цифры. Примеры ввода для сортировки .
Ниже приведен код, который у меня есть.
Sub SortTag()
'______________________________
'verificar se há células filtradas antes de iniciar a reorganização
If ActiveSheet.FilterMode = True Then
Dim LimpaFiltro As Long
LimpaFiltro = MsgBox(Title:="Planilha Filtrada!", _
prompt:="A planilha possui células filtradas" & _
vbNewLine & vbNewLine & "Deseja continuar?", _
Buttons:=vbYesNo)
If LimpaFiltro = vbNo Then Exit Sub
If LimpaFiltro = vbYes Then
ActiveSheet.ShowAllData
End If
End If
'______________________________
'cria o range que será reornizado
Dim rng As Range
Set rng = ActiveSheet.AutoFilter.Range '.Offset(1). _
Resize(ActiveSheet.AutoFilter.Range.Rows.Count - 1)
rng.Sort key1:=rng.Columns(1), _
order1:=xlAscending, _
Header:=xlYes
Exit Sub
ErrorHandler:
End Sub