Como colar trecho de name?  [Resolvido]

Visual Basic for Aplication e macros no Excel.
Regras do fórum
Sua dúvida foi respondida? Marque como RESOLVIDO em seus tópicos, usando o botão com marca verde. Imagem

Como colar trecho de name?

Mensagempor Wilker12 » Seg Set 17, 2018 9:46 pm

Olá,

Como eu copio só uma área dentro de um name e colo em outro lugar?
Por exemplo: Range("Name1").Copy: Range("A1").PasteSpecial xlPasteValues
Sendo que eu precisaria colar em A1 só as duas primeiras colunas de Name1.

Grato. :geek:
Wilker12
Membro
Membro
 
Mensagens: 40
Registrado em: Seg Jul 02, 2018 3:48 pm
Has thanked: 30 times
Have thanks: 0 time

{ SO_SELECT }

Re: Como colar trecho de name?

Mensagempor EdsonBR » Seg Set 17, 2018 11:00 pm

Código: Selecionar todos
   Range("Name").Columns("A:B").Copy
   Range("A1").PasteSpecial xlPasteValues
Imagem
Avatar do usuário
EdsonBR
Membro
Membro
 
Mensagens: 523
Registrado em: Qui Nov 05, 2015 11:43 pm
Localização: Joinville, SC
Has thanked: 104 times
Have thanks: 317 times

Re: Como colar trecho de name?

Mensagempor Wilker12 » Seg Set 17, 2018 11:12 pm

Exatamente.
Minha reverência.
Wilker12
Membro
Membro
 
Mensagens: 40
Registrado em: Seg Jul 02, 2018 3:48 pm
Has thanked: 30 times
Have thanks: 0 time

Re: Como colar trecho de name?

Mensagempor Wilker12 » Ter Set 18, 2018 11:35 am

O VBA só enxerga deslocamento de vários nomes em um Range com Offset?
Tentei Range("Name1, Name2, Name3").Cells(deslocLin, deslocCol) = Valor e só Name1 recebeu o valor.
Wilker12
Membro
Membro
 
Mensagens: 40
Registrado em: Seg Jul 02, 2018 3:48 pm
Has thanked: 30 times
Have thanks: 0 time

Re: Como colar trecho de name?  [Resolvido]

Mensagempor EdsonBR » Ter Set 18, 2018 12:11 pm

Wilker12 escreveu:Tentei Range("Name1, Name2, Name3").Cells(deslocLin, deslocCol) = Valor e só Name1 recebeu o valor.

Como vc quer Deslocamento, use Offset ao invés de Cells na expressão acima, que ele atribuirá valor a todos os ranges.

Além disso, se precisar iterar com cada intervalo nomeado desse range total, pode fazer loop usando a propriedade Areas:

Código: Selecionar todos
  Dim a As Range
   For Each a In Range("Name1,Name2,Name3").Areas
     a.Offset(deslocLin, deslocCol).Value = Valor
   Next a

Obs.: evite usar o espaço em branco entre as vírgulas e os nomes dos Ranges.
Imagem

For this post the author EdsonBR thanked:
Wilker12 (Ter Set 18, 2018 2:32 pm)
Avatar do usuário
EdsonBR
Membro
Membro
 
Mensagens: 523
Registrado em: Qui Nov 05, 2015 11:43 pm
Localização: Joinville, SC
Has thanked: 104 times
Have thanks: 317 times


Voltar para VBA & Macros

Quem está online

Usuários navegando neste fórum: Bing [Bot] e 4 visitantes