Ir para conteúdo
Fórum Script Brasil

buiao

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre buiao

buiao's Achievements

0

Reputação

  1. Sou iniciante na programação e preciso de ajuda. Quero criar uma macro no excel para fazer as seguintes rotinas: 1- Ativar/Selecionar a ultima célula de uma tabela e defini-la como range Final; 2- Definir o intervalo da celula a7 até a célula acima da Final e definir este intervalo com Fluxo; 3- Classificar o intervalo Fluxo pelas colunas DataCompensada, Credito, Debito, DataProgramada; 4- Selecionar a celula a8. O objetivo desta rotina é identificar a área total do intervalo e classificar pelas colunas mencionadas. Para isso criei o código abaixo: Sub klassificar() ' ' klassificar Macro ' Dim Fluxo As Range Dim Final As Range Dim DataCompensada As Range Dim DataProgramada As Range Dim Credito As Range Dim Debito As Range ActiveWorkbook.Worksheets("Fluxo de Caixa").Activate ActiveCell.SpecialCells(xlLastCell).Activate Set Final = ActiveCell.SpecialCells(xlLastCell).Offset(-1, 0).Range("A1") Set Fluxo = Range("a7", Final) Set Debito = Range("k8", Final.Offset(rowOffset:=0, columnOffset:=-24)) Set Credito = Range("j8", Final.Offset(rowOffset:=0, columnOffset:=-25)) Set Data_Programada = Range("b8", Final.Offset(rowOffset:=0, columnOffset:=-33)) Set Data_Compensada = Range("a8", Final.Offset(rowOffset:=0, columnOffset:=-34)) ActiveWorkbook.Worksheets("Fluxo de Caixa").Sort.SortFields.Clear Fluxo.Select O erro que descrevo abaixo acontece nos proximos comandos: Fluxo.Sort.SortFields.Add Key:=Range(Data_Compensada), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal Fluxo.Sort.SortFields.Add Key:=Range(Credito), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal Fluxo.Sort.SortFields.Add Key:=Range(Debito), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal Fluxo.Sort.SortFields.Add Key:=Range(Data_Programada), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With Fluxo.Sort .SetRange Range(Fluxo) .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With Range("B8").Select End Sub No entanto ao depurar encontro o seguinte erro que não estou conseguindo resolver: Erro em tempo de execução '1004' O método 'range' do objeto '_global' falhou Favor ajudar na solução desse problema.
×
×
  • Criar Novo...