Página 1 de 1

Copiar um intervalo de células contíguas de uma linha

Enviado: 28 Jul 2020 às 16:54
por SandroLima
Boa tarde, pessoal.

Tenho uma coluna com 8 colunas:
- Coluna 1 = Registro
- Coluna 2 = Data
- Coluna 3 = Dia da Semana
- Coluna 4 = ID
- Coluna 5 = Fluxo
- Coluna 6 = Categoria
- Coluna 7 = Item
- Coluna 8 = Nome / Razão Social

No trecho do código abaixo:
Código: Selecionar todos
With Tabela
        .ListRows.Add (1), alwaysinsert:=True
        .ListRows(2).Range.Copy
        .ListRows(1).Range.PasteSpecial xlPasteFormats    
    End With
Qual alteração devo fazer para que em vez de copiar toda a linha 2 da tabela e colar na linha 1 eu copie apenas os valores das células que estão nas colunas que estão entre 4 e 7 da linha 2 tabela para a linha 1 da tabela.
Digo para eu não ter que ficar escrevendo várias linhas de código dessa maneira:
Código: Selecionar todos
.ListColumns("ID").DataBodyRange.Cells(1, 1).Value = .ListColumns("ID").DataBodyRange.Cells(2, 1).Value 'Coluna4
.ListColumns("Fluxo").DataBodyRange.Cells(1, 1).Value = .ListColumns("Fluxo").DataBodyRange.Cells(2, 1).Value 'Coluna5
.ListColumns("Categoria").DataBodyRange.Cells(1, 1).Value = .ListColumns("Categoria").DataBodyRange.Cells(2, 1).Value 'Coluna6
.ListColumns("Item").DataBodyRange.Cells(1, 1).Value = .ListColumns("Item").DataBodyRange.Cells(2, 1).Value 'Coluna7

Já que as colunas são contíguas.

Desde já obrigado.

Re: Copiar um intervalo de células contíguas de uma linha

Enviado: 29 Jul 2020 às 09:14
por AfonsoMira
Boas.

Veja se assim resolve:
Código: Selecionar todos
    With Tabela
        .ListRows.Add (1), alwaysinsert:=True
        .Range.Range(Cells(3, 4), Cells(3, 7)).Copy
        .Range.Range(Cells(2, 4), Cells(2, 7)).PasteSpecial xlValues
    End With

Re: Copiar um intervalo de células contíguas de uma linha

Enviado: 29 Jul 2020 às 13:13
por SandroLima
Bom dia, AfonsoMira

Atende perfeitamente.

Muito obrigado pela ajuda.