Página 1 de 1

Selecionar tabela exceto última linha

Enviado: 16 Nov 2018 às 16:53
por SandroLima
Boa tarde, pessoal

Preciso adaptar o código abaixo para que selecione a tabela exceto a última linha e copie e cole os valores nos mesmos campos onde se encontram.

Preciso excluir a última linha desse comando pq é nela que ficam as fómulas que uso ao inserir uma nova linha e preciso manter as fórmulas dessa última linha.

Segue parte do código em questão:
Código: Selecionar todos
Sub COLARVALORES()
'
' COLARVALORES Macro
    Application.ScreenUpdating = False
        
    Dim TabelaAtividades As ListObject
    Dim Ulinha As Long
    
    Set TabelaAtividades = wshAtividadesDiarias.ListObjects("TB_AtividadesDiarias")
    Ulinha = TabelaAtividades.Range.Rows.Count
    
    On Error Resume Next
    TabelaAtividades.ListRows(1).Range.Select
        
    Range(Selection, Selection.End(xlDown)).Select
    
    ' Preciso que o código selecione até a penúltima linha da tabela e copie e cole os valores na mesma posição
    
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        
    '
    '
    Set TabelaAtividades = Nothing
    
    Application.ScreenUpdating = True
    
End Sub
Como devo proceder?

Re: Selecionar tabela exceto última linha

Enviado: 16 Nov 2018 às 20:41
por osvaldomp
SandroLima escreveu:Preciso adaptar o código abaixo para que selecione a tabela exceto a última linha e copie e cole os valores nos mesmos campos onde se encontram.
Como devo proceder?
Sugestão: até o fim da sua vida não mais utilize "Select " nos seus códigos :(
Código: Selecionar todos
Sub SubstFórmulasPorValores()
 With Range("TB_AtividadesDiarias")
  .Rows("1:" & .Rows.Count - 1).Value = .Rows("1:" & .Rows.Count - 1).Value
 End With
End Sub

Re: Selecionar tabela exceto última linha

Enviado: 16 Nov 2018 às 21:35
por SandroLima
Perfeito, Osvaldomp.

Dica aceita. Já adequei para o código em questão.

Muito obrigado mais uma vez.