Ir ao conteúdo
  • Cadastre-se

Trocar valores entre colunas ou linhas sem usar células auxiliares.


edcronos

Posts recomendados

Atualmente eu uso uma planilha auxiliar para troca de valores entre planilhas ou eventos,

Exp. quero pegar os valores de ( A ) colocar em ( B ), e os de ( B ) colocar em (A).

Como não conheço uma maneira direta acabo usando © para ajudar no processo

----> ( A ) -> "C" , ( B )->( A ) , ©->( B )

Teria como fazer isso usando algum comando, string... para guardar os "dados" que podem ser uma coluna, linha ou trecho ?

tipo copia ( A ) e guarda, copia ( B ) cola em ( A ) e pega os dados guardados e cola em ( B ).

 

um exemplo concreto "sem cimento"

Pegar os valores da coluna "AA" linha 20 até 6000, e "trocar" com a coluna "AE".

 

Muitas duvidas pelo que você´s podem ver.

Até mais.

Link para o comentário
Compartilhar em outros sites

boa tarde.

 

eu até posso, e já estou fazendo isso,

mas tipo eu mudo minha planilha constantemente, e eu já tive que mudar as macros que usam essa parte, bem agora coloquei variavel para definir as colunas auxiliares.

 

tento resevar espaço pra trabalho extra, mas as vezes as mudaças superam esse espaço,

então pensei nessa possibilidade, sem falar que é algo mais que se aprende.

pode ser qualquer exemplo, já li algo a respeito, mas não achei, e o que eu achei não entendi.

então um exemplo dentro do contexto que eu falei vai  dar para entender. e aplicar nas minha nescecidade.

 

até mais.

Link para o comentário
Compartilhar em outros sites

Boa tarde edcronos

 

O que você quer só dá para fazer com Macros.

 

Baixe a planilha e veja se é isto que você deseja.

 

attachicon.gif01_02_14_Inverter dados da Coluna A para B_Patropi.zip

 

Dê retorno.

 

At.te

 

mas é justamente com macro que eu quero, toda minha planilha é escalonavel, e todas as macros são com variaveis, então qualquer macro funciona em qualquer parte da planilha, as colunas e linhas são definidas por macros, bem o importante é que funciona.

mas assim eu já faço, usando celulas auxiliares.

tipo essas macros que rotaciona para os lados

  

Sub esq()

         Range(Ci & Li, Cf & Lf) = Range(Ci & Li, Cf & Lf).Offset(0, 1).Value

lat

End Sub

Sub dir()

          Range(Ci & Li, Cf & Lf) = Range(Ci & Li, Cf & Lf).Offset(0, -1).Value

lat  

End Sub

Sub lat()     

     'Copia e cola as laterais não mudar         

Range(Cf & Li, Cf & Lf).Offset(0, 1) = Range(Ci & Li, Ci & Lf).Value

Range(Ci & Li, Ci & Lf).Offset(0, -1) = Range(Cf & Li, Cf & Lf).Value

End Sub

bem poderia ter usado a pena uma coluna auxiliar, mas quando eu fiz nem sabia nada de macro e levei 1 semana pra conseguir fazer.

 

pelo menos aprendi mais uma maneira de colar valores

Columns("T:T").Copy Destination:=Range("B1")

afinal quantas maneiras existem de adquirir e colar valores

 

esse destination transfere tudo né até formatação, ainda bem que executei em uma planilha de teste.

Link para o comentário
Compartilhar em outros sites

@edcronos, tentei diversas formas aqui e realmente é necessário uma coluna para "guardar" os dados de A enquanto você copia B para A, tente utilizar uma coluna bem distante, como por exemplo a "XFD" que é a última coluna do excel, assim não atrapalha em outras macros que estão rodando perto das colunas A e B.

Link para o comentário
Compartilhar em outros sites

@edcronos, tentei diversas formas aqui e realmente é necessário uma coluna para "guardar" os dados de A enquanto você copia B para A, tente utilizar uma coluna bem distante, como por exemplo a "XFD" que é a última coluna do excel, assim não atrapalha em outras macros que estão rodando perto das colunas A e B.

bem, maneira existe, e só pra te responder acabei por achar

http://www.macoratti.net/arrays.htm

Vale a pena a leitura,o assunto é mais amplo do que eu lembrava.

 

algo como guardar tudo na mesma variavel para não ter que criar uma variavel para cada coisa.

pelo que eu tinha lido anteriormente, é muito util quando se tem que pegar muitos dados de uma planilha e colocar na outra, fica mais rápido abrir a planilha guardar tudo que precisa na variavel e depois descarregar onde quer, "isso quando os dados não são sequenciais", do que ir e pegar uma voltar e guardar a cada valor.

Link para o comentário
Compartilhar em outros sites

Interessante o array, mas na verdade ele só consegue automatizar você colocar 1 celula em cada variável, você conseguiu utilizar ela para fazer a sua planilha de inverter os dados de A com B?

 

Vou tentar mais tarde quando tiver tempo...

sobre a coluna creio que não valeria a pena pelo loop de leitura e escrita, e  como os dados estão em sequencia é muito mais rápido le de uma só vez, colar em qualquer lugar e depois transferir.

Mas tenho  um caso aqui que valeria sim o uso array  que é pegar muitos dados espalhados em outra pasta de trabalho e colar em sequencia na planilha ativa, imagina o tempo economizado no ir e vim de uma planilha pra outra, mas vou testar pra ve se vale mesmo a pena.

 

Acho que posso encerrar o topico. "A não ser que os mestres saibam de uma maneira e queiram dividir o conhecimento"

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...