Você já precisou classificar os dados de uma planilha, seja para facilitar a pesquisa, seja preparar uma análise prévia?
E se você tivesse uma função disponível para isso?
(Perceba que existem outras funções utilizadas no código, mas todas estão aqui no Blog)
Function SortColumn (nSheet As String, nCellStart As String)
' © 2007-20 A&A - In Any Place®, except where noted, all rights reserved.
' THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT
' LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
' Feel free to use the code as you wish but kindly keep this header section intact.
' Copyright© A&A - In Any Place®, all Rights Reserved. ' Author: André Bernardes
' Contact: andreluizbernardess@gmail.com | https://goo.gl/EUMbSe/
' Description: Sort by column.
Dim nRowIni As String
Dim nRowFin As String
Dim nColIni As String
Dim nColFin As String
Dim nRng As String
Let nRowIni = Range(nCellStart).Row ' A partir da referência (nCellStart), determina a linha inicial.
Let nColIni = ColumnLettersFromRange (Range(nCellStart)) ' A partir da referência (nCellStart), determina a coluna inicial.
Let nRowFin = FindingLastRow (nSheet, nColIni) ' A partir da referência (nSheet), determina a última linha.
Sheets(nSheet).Select
Let nColFin = FindLastColumn (False) ' A partir da referência (nSheet), determina a última linha.
Let nRng = nColIni & nRowIni & ":" & nColFin & nRowFin ' A partir das referências (nSheet e nCellStart) e algumas funções, determina o range.
Range(nCellStart).Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
ActiveWorkbook.Worksheets(nSheet).Sort.SortFields.Clear
With ActiveWorkbook.Worksheets(nSheet).Sort
.SetRange Range(nRng)
Let .Header = xlYes
Let .MatchCase = False
Let .Orientation = xlTopToBottom
Let .SortMethod = xlPinYin
.Apply
End With
End Function
⬛◼◾▪ CONTATO ▪◾◼⬛