Views

...

Important:

Quaisquer soluções e/ou desenvolvimento de aplicações pessoais, ou da empresa, que não constem neste Blog podem ser tratados como consultoria freelance.

E-mails

Deixe seu e-mail para receber atualizações...

eBook Promo

Mostrando postagens com marcador FindLastColumn. Mostrar todas as postagens
Mostrando postagens com marcador FindLastColumn. Mostrar todas as postagens

Classificando os Dados de uma Planilha - Alphabetizing a Column


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

⬛◼◾▪ Social Media ▪◾◼⬛
• FACEBOOK • TWITTER • INSTAGRAM • TUMBLR • GOOGLE+ • LINKEDIN • PINTEREST

⬛◼◾▪ Blogs ▪◾◼⬛ 

⬛◼◾▪ CONTATO ▪

Qual é a Última Coluna da Planilha?


Em vários momentos tentamos determinar qual é a última coluna de uma planilha na qual estamos implementando alguma automação. Ter uma função pronta para uso é sempre uma mão na roda.

Function FindLastColumn (nOpt As Boolean) As Variant
    ' © 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: Determina a últma coluna.

    Dim LastColumn As Integer
    Dim ColumnLetter As String

    ' Retorna o número da coluna.
    If nOpt Then
        If WorksheetFunction.CountA(Cells) > 0 Then
            ' Procura qualquer entrada, pesquisando antes das Colunas.
            Let LastColumn = Cells.Find(What:="*", After:=[A1], _
            SearchOrder:=xlByColumns, _
            SearchDirection:=xlPrevious).Column
            
            Let FindLastColumn = LastColumn
        End If
    Else    ' Retorna a letra da coluna.
        If WorksheetFunction.CountA(Cells) > 0 Then
            ' Procura qualquer entrada, pesquisando antes das Colunas.
            Let LastColumn = Cells.Find(What:="*", After:=[A1], _
            SearchOrder:=xlByColumns, _
            SearchDirection:=xlPrevious).Column

            If LastColumn > 26 Then
                Let ColumnLetter = Chr(Int((LastColumn - 1) / 26) + 64) & _
                                   Chr(((LastColumn - 1) Mod 26) + 65)
            Else
                Let ColumnLetter = Chr(LastColumn + 64)
            End If

            Let FindLastColumn = ColumnLetter
        End If
    End If
End Function
⬛◼◾▪ Social Media ▪◾◼⬛
• FACEBOOK • TWITTER • INSTAGRAM • TUMBLR • GOOGLE+ • LINKEDIN • PINTEREST

⬛◼◾▪ Blogs ▪◾◼⬛ 

⬛◼◾▪ CONTATO ▪

eBooks VBA na AMAZOM.com.br

LinkWithinBrazilVBAExcelSpecialist

Related Posts Plugin for WordPress, Blogger...

Vitrine