Página 1 de 1

Macro para ordenar tabela sem alterar fórmulas das células

Enviado: 26 Jan 2019 às 20:16
por FJunior
Boa noite, estou precisando de uma ajuda. Eu fiz uma planilha com células que possuem fórmulas que utilizam dados da planilha 1 (aba 1) com dados da planilha (aba 2). Quando clico no botão "Atualizar Nomes" ela coloca os nomes em ordem alfabética mantendo cada nome com seus respectivos dados. Porém, eu queria que quando os nomes fossem colocados em ordem alfabética, os dados das células das colunas C, D, E e H acompanhassem o seu respectivo nome, mas que as fórmulas das células da coluna H (Situação Atual) não fossem alteradas.

Segue planilha em anexo.

Obrigado!

Macro para ordenar tabela sem alterar fórmulas das células

Enviado: 26 Jan 2019 às 22:17
por JCabral
Teste assim
Código: Selecionar todos
Sub Atualizar_Nomes_Ordem_Alfabetica()
'
' Atualizar_Nomes_Ordem_Alfabetica Macro
'

'
    Application.ScreenUpdating = False
    
    ActiveSheet.Unprotect
    
    Range("B5:G64").Select
    
    ActiveWorkbook.Worksheets("Planilha1").Sort.SortFields.Clear
    
    ActiveWorkbook.Worksheets("Planilha1").Sort.SortFields.Add Key:=Range("B5"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        
    With ActiveWorkbook.Worksheets("Planilha1").Sort
        .SetRange Range("B5:G64")
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
        
    End With
    
    Range("C5").Select
    
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
        , AllowFiltering:=True
        
    MsgBox "Operação Realizada com Sucesso!"

    Application.ScreenUpdating = True
        
End Sub