Olá,
Estou com uma situação em que, uma macro funciona na versão Office 2010 (excel) mas não na versão 2000. Trata-se de um intervalo de dados que será classificado. Esse código é do colega brunoxro e que foi postado solucionando meu post anterior "Ordenação via VBA em 5 colunas". Ocorre que, os testes foram feitos na versão Excel 2010, quando fui executar na versão 2000 ocorreu o erro "ERRO DE COMPILAÇÃO - Método ou membro de dados não encontrado". O destaque é para a parte do código,
WsDados.[b]Sort[/b].SortFields.Clear
Gostaria de contar com a ajuda de alguém para visualizar uma forma de contornar esse erro.
Tentando analisar o código, confirmei que que a variável "WsDados" foi declarada normalmente, por isso não sei como seria a solução.
Abaixo o código:
Sub ClassificarDados()
'Application.ScreenUpdating = False
'Nesta pasta de trabalho
ThisWorkbook.Activate
'Parte que copia os valores
Sheets("Situação Desejada").Cells.Clear
Sheets("Situação Atual").Select
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Situação Desejada").Select
Range("A1").Select
ActiveSheet.Paste
'---------------------------------------------------
'Parque que organiza os dados
Dim WsDados As Worksheet
Dim UltLin As Double
'Caso sua planilha seja de nome diferente apenas altere o nome _
dentro de Sheets(" Nome da sua planilha aqui ")
Set WsDados = Sheets("Situação Desejada")
WsDados.Select
'Pega o valor da última linha
UltLin = Cells(1, 1).End(xlDown).Row
Range("A1").Select
'Código gerado por macro e adaptado.
WsDados.[b]Sort[/b].SortFields.Clear
WsDados.Sort.SortFields.Add Key:=Range( _
"B2:B" & UltLin), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
WsDados.Sort.SortFields.Add Key:=Range( _
"C2:C" & UltLin), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
WsDados.Sort.SortFields.Add Key:=Range( _
"D2:D" & UltLin), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
WsDados.Sort.SortFields.Add Key:=Range( _
"E2:E" & UltLin), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
WsDados.Sort.SortFields.Add Key:=Range( _
"F2:F" & UltLin), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With WsDados.Sort
.SetRange Range("A1:F" & UltLin)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'Ajeita as colunas
Columns("A:F").EntireColumn.AutoFit
'Application.ScreenUpdating = True
End Sub
Obrigado.
Postado : 11/07/2016 6:40 am