Boa noite.
Encontrei neste fórum uma macro que ao salvar coloca em ordem crescente as informações salvas.
Porém ao adaptar na minha planilha dependendo da informação cadastrada, ela dá erro.
A ideia é adaptada para ler a partir da linha a2 e não ler informação da primeira linha onde se encontra o cabeçalho.
Essa ordenação deverá ser feita da segunda linha em diante.
Print do cabeçalho. (Qualquer informação e que classificação fique após o novo registro dá erro. Ex- Inicia com letras a, b e até ck)
Private Sub Btn_Salvar_Click()
'Ativar a primeira planilha
ThisWorkbook.Worksheets("Centro_Custo").Activate
'Selecionar a célula B3
Range("A2").Select
'Procura o registro existente mais proximo do txt
nlinha = Application.Match(Me.Txt_ClassCeCusto.Text, Range("A:A"), 1) + 1
'nlinha = Application.Match(Me.Txt_ClassCeCusto.Text, Range("A2"), 1) '+ 1
'Seleciona e inclui linha
Rows(nlinha).Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
'Posiciona a celula para inclusão de dados
Cells(nlinha, 1).Select
'Procurar a primeira célula vazia
Do
If Not (IsEmpty(ActiveCell)) Then
ActiveCell.Offset(1, 0).Select
End If
Loop Until IsEmpty(ActiveCell) = True
'Carregar os dados digitados nas caixas de texto para a planilha
ActiveCell.Value = Me.Txt_ClassCeCusto.Value
ActiveCell.Offset(0, 1).Value = Me.Txt_CeCusto.Value
ActiveCell.Offset(0, 2).Value = Me.Txt_ContaCorrente.Value
ActiveCell.Offset(0, 3).Value = Me.Txt_CalcCeCusto.Value
'ActiveCell.Offset(0, 4).Value = Me.Txt_CalcCeCusto.Value
'ActiveCell.Offset(0, 5).Value = origem.Value
'Limpar as caixas de texto
Me.Txt_ClassCeCusto.Value = Empty
Me.Txt_CeCusto.Value = Empty
Me.Txt_ContaCorrente.Value = Empty
Me.Txt_CalcCeCusto.Value = Empty
'processo.Value = Empty
'origem.Value = Empty
'chassis.Value = Empty
'secretaria.Value = Empty
'setor.Value = Empty
'patrimonio.Value = Empty
'situaçao.Value = Empty
'Colocar o foco na primeira caixa de texto
'n_ordem.SetFocus
MsgBox "O registro foi salvo com sucesso!"
Me.Txt_ClassCeCusto.Enabled = False
Me.Txt_CeCusto.Enabled = False
Me.Txt_ContaCorrente.Enabled = False
Me.Txt_CalcCeCusto.Enabled = False
Me.Btn_Salvar.Enabled = False
Me.Btn_Novo.Enabled = True
Me.Btn_Cancelar.Enabled = False
End Sub
Postado : 07/10/2018 8:59 pm