Página 1 de 1

Correção de código para inserir linha

Enviado: 06 Mar 2018 às 17:49
por SandroLima
Alguém poderia me ajudar na correção desse código?

Serve para adicionar uma linha no topo da tabela.

Percebi que ao inserir uma nova linha se todas as cédulas da linha anterior não estiverem preenchidas ele apresenta erro.

Segue o código para avaliaçâo + planilha em anexo para apreciação... sugestões de melhorias são bem-vindas.

Agradeço antecipadamente aos que puderem colaborar

Att.,

SANDRO LIMA


Sub ADICIONARNOVORECEBIMENTO_ATENDIMENTOS()
'
' ADICIONARNOVORECEBIMENTO_ATENDIMENTOS Macro
'

'
Range("TB_ATENDIMENTOS").Select
Selection.End(xlUp).Select
ActiveCell.Offset(1, 0).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.ListObject.ListRows.Add (1)
ActiveCell.Offset(1, 0).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
ActiveCell.Offset(-1, 0).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.PasteSpecial Paste:=xlPasteAllUsingSourceTheme, Operation:=xlNone _
, SkipBlanks:=False, Transpose:=False
Selection.ClearContents
ActiveCell.Offset(0, 2).Select
ActiveCell.FormulaR1C1 = "0"
ActiveCell.Offset(0, 9).Select
Selection.NumberFormat = "_($* #,##0.00_);_($* (#,##0.00);_($* ""-""??_);_(@_)"
ActiveCell.FormulaR1C1 = "0"
ActiveCell.Offset(0, 1).Select
Selection.NumberFormat = "_($* #,##0.00_);_($* (#,##0.00);_($* ""-""??_);_(@_)"
ActiveCell.FormulaR1C1 = "=SUM([@[Valor Recebido]]-[@[Valor Descontado]])"
ActiveCell.Offset(0, -12).Select
ActiveCell.FormulaR1C1 = "=ROW()-ROW(TB_ATENDIMENTOS[[#Headers],[Registro]])"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "=TODAY()"
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False


End Sub

http://download1643.mediafire.com/ntktm ... ESTES.xlsm

Re: Correção de código para inserir linha

Enviado: 06 Mar 2018 às 18:43
por gfranco
Boa tarde.
Veja se o anexo te ajuda.

Correção de código para inserir linha

Enviado: 07 Mar 2018 às 16:19
por SandroLima
Boa tarde, gfranco.

Excelente cara... exatamente o que eu queria... ainda tentando entender o código... mas atendeu o que eu queria. E faz ver que a programação pode seguir vários caminhos... mas como disse sou apenas um mero iniciante.

Só para completar agora a segunda macro (Botão "Adicionar Parcelas")... se fosse para eu copiar os dados da 2 linha e colar na primeira como ficaria a complementação dessa linha:
tabela.ListRows(1).Range.PasteSpecial xlPasteFormats

Note que essa macro tema mesma função da primeira porém ela serve para inserir um valor de parcela... portanto os campos das colunas 5, 6, 7, 8, 9 e 10 devem ser copiados para essa primeira linha.

Re: Correção de código para inserir linha

Enviado: 07 Mar 2018 às 22:10
por gfranco
Boa noite.
Seria +- assim?

Correção de código para inserir linha

Enviado: 09 Mar 2018 às 21:55
por SandroLima
Exatamente, colega.

Muito obrigado pela ajuda.