Página 1 de 1
Copiar e colar sem excluir ou sobrepor
Enviado: 02 Mar 2018 às 10:43
por Angra
Bom dia
Na verdade são dois pedidos:
1º Como aumentar ou diminuir a largura da coluna ou linha com macro. Informando a nova medida dentro da macro.
2º Copiar valores de um intervalo (B) para outro intervalo (A) , de modo que os valores gravados anteriormente (intervalo A) não sejam sobrepostos ou excluídos pelo novos valores, oriundos do intervalo B.

Copiar e colar sem excluir ou sobrepor
Enviado: 02 Mar 2018 às 10:57
por mprudencio
Qto ao espaçamento é so usar a instrução autofit.
Mas o restante juro nao entendi.
Re: Copiar e colar sem excluir ou sobrepor
Enviado: 02 Mar 2018 às 11:12
por Fehalves
Olá Eu posso ajudar dando 5 dicas de Excel ,vou deixar meu Whatsapp :21998516546

Re: Copiar e colar sem excluir ou sobrepor
Enviado: 02 Mar 2018 às 11:43
por GladstoneD
Angra escreveu:Bom dia
Na verdade são dois pedidos:
1º Como aumentar ou diminuir a largura da coluna ou linha com macro. Informando a nova medida dentro da macro.
2º Copiar valores de um intervalo (B) para outro intervalo (A) , de modo que os valores gravados anteriormente (intervalo A) não sejam sobrepostos ou excluídos pelo novos valores, oriundos do intervalo B.

Bom dia!!
Sobre o 1º Pedido, vc pode usar algo como isso. Nesse exemplo eu usei a Linha 1 e Coluna A
Código: Selecionar todosSub Tamanhos()
Dim AltLin As Double
Dim LarCol As Double
AltLin = InputBox("Altura da Linha", "Digite um valor")
If StrPtr(AltLin) = 0 Then Exit Sub
If AltLin = Null Then MsgBox ("Digite um valor")
LarCol = InputBox("Largura da Coluna", "Digite um valor")
If StrPtr(LarCol) = 0 Then Exit Sub
If LarCol = Null Then MsgBox ("Digite um valor")
Rows("1:1").RowHeight = AltLin
Columns("A:A").ColumnWidth = LarCol
End Sub
Sobre o 2º, eu realmente nao entendi o que deve acontecer com os dados
Re: Copiar e colar sem excluir ou sobrepor
Enviado: 02 Mar 2018 às 12:50
por osvaldomp
Angra escreveu:Bom dia
Na verdade são dois pedidos:
1º Como aumentar ou diminuir a largura da coluna ou linha com macro. Informando a nova medida dentro da macro.
Fonte ~~~> gravador de macros
Código: Selecionar todos Rows("56:56").RowHeight = 20
Columns("H:H").ColumnWidth = 10
2º Copiar valores de um intervalo (B) para outro intervalo (A) , de modo que os valores gravados anteriormente (intervalo A) não sejam sobrepostos ou excluídos pelo novos valores, oriundos do intervalo B.
A cada operação de copiar/colar o intervalo B será mantido ou apagado? Se for mantido, basta fazer copiar/colar sempre.
Re: Copiar e colar sem excluir ou sobrepor
Enviado: 02 Mar 2018 às 13:41
por Angra
Respondendo aos questionamentos:
1º Copia os valores do intervalo B para o intervalo A. Os valores gravados anteriormente no intervalo A permanecem, não são sobrepostos ou excluídos pelo novos valores;
2º Valores do intervalo B, são deletados manualmente e depois de um tempo outros valores são digitados no intervalo;
3º A preocupação é sempre deixar os valores antigos (intervalo A) gravados permanentemente;
4º Quando da marcação de novos valores no intervalo B, eles não serão digitados na mesma posição de valores já existentes no intervalo A;
5º Uma ideia é copiar apenas o conteúdo da célula preenchida no intervalo B e colar no intervalo A, enfim...
Re: Copiar e colar sem excluir ou sobrepor
Enviado: 02 Mar 2018 às 16:05
por osvaldomp
Código: Selecionar todosSub ReplicaValoresFormatos()
Dim b As Range
For Each b In Range("AS8:AU46")
If b.Value <> "" Then b.Copy b.Offset(, -29)
Next b
End Sub
Código: Selecionar todosSub ReplicaValores()
Dim b As Range
For Each b In Range("AS8:AU46")
If b.Value <> "" Then b.Offset(, -29).Value = b.Value
Next b
End Sub
Re: Copiar e colar sem excluir ou sobrepor
Enviado: 02 Mar 2018 às 23:48
por Angra
Boa noite
Queria agradecer ao GladstoneD, a ajuda e pedir que fizesse uma pequena correção na macro, alterei essa linha:
LarCol = InputBox("Largura da Coluna", "Digite um valor")
para:
LarCol = 30
A linha aumenta para 30
Precisava alterar a linha abaixo para fazer ela voltar para um outro valor (menor por exemplo) retirando a MsgBox e colocando o valor direto na linha, como na alteração acima.
If LarCol = Null Then MsgBox ("Digite um valor")
Por fim meu agradecimento ao osvaldomp, pela simplicidade da macro que atende com perfeição minha necessidade.
Vou esperar pela correção do GladstoneD, para dar o tópico como resolvido. Mas não sei como clicar duas vezes o agradecimento oficial do forum

Re: Copiar e colar sem excluir ou sobrepor
Enviado: 03 Mar 2018 às 05:10
por Angra
No mesmo botão que vai disparar a macro, clicou, o intervalo foi a "x", clicou de novo, o intervalo voltou para intervalo "Y".
Re: Copiar e colar sem excluir ou sobrepor
Enviado: 05 Mar 2018 às 09:24
por GladstoneD
Angra escreveu:Boa noite
Queria agradecer ao GladstoneD, a ajuda e pedir que fizesse uma pequena correção na macro, alterei essa linha:
LarCol = InputBox("Largura da Coluna", "Digite um valor")
para: LarCol = 30
A linha aumenta para 30
Precisava alterar a linha abaixo para fazer ela voltar para um outro valor (menor por exemplo) retirando a MsgBox e colocando o valor direto na linha, como na alteração acima.
If LarCol = Null Then MsgBox ("Digite um valor")
Por fim meu agradecimento ao osvaldomp, pela simplicidade da macro que atende com perfeição minha necessidade.
Vou esperar pela correção do GladstoneD, para dar o tópico como resolvido. Mas não sei como clicar duas vezes o agradecimento oficial do forum 
Olá, desculpe. Estava em viagem.
Nao entendi bem. Vc quer que a macro defina um valor fixo pra coluna? Ou quer que ela leia um valor na celula?
Re: Copiar e colar sem excluir ou sobrepor
Enviado: 05 Mar 2018 às 14:07
por Angra
Vou aplicar dois valores, um vai aumentar a largura da linha(já implementado) e outro vai retornar a largura anterior, tudo isso no mesmo botão. Clicou a macro aumenta a largura para "x", clicou de novo, volta a largura informada. Como vou informar dentro da macro as duas medidas, (menor, maior)não preciso da MsgBox.
Re: Copiar e colar sem excluir ou sobrepor
Enviado: 05 Mar 2018 às 18:40
por osvaldomp
por Angra » 05 Mar 2018 às 16:07
... um vai aumentar a
largura da linha(já implementado) ...
Largura se aplica à medida da coluna, para a medida da linha aplica-se
altura.
Se a largura da coluna H for igual a 10 o código abaixo passará a largura daquela coluna para 50, se não, passará para 10.
Código: Selecionar todosSub AlteraLarguraColuna()
Columns("H:H").ColumnWidth = IIf(Columns("H:H").ColumnWidth = 10, 50, 10)
End Sub
Re: Copiar e colar sem excluir ou sobrepor
Enviado: 06 Mar 2018 às 05:42
por Angra

Troquei os termos, mas grato pelo lembrete.

Na compilação apresenta a seguinte mensagem: "Sub ou função não definida"

Re: Copiar e colar sem excluir ou sobrepor
Enviado: 06 Mar 2018 às 07:36
por osvaldomp
Aqui funciona corretamente!

Re: Copiar e colar sem excluir ou sobrepor
Enviado: 06 Mar 2018 às 11:06
por Angra
Testando a macro no note da minha amiga, dispara normal.

Tanto cá como lá, uso o Office 2010.
Vou encerrar o tópico agradecendo ao GladstoneD e osvaldomp, pela contribuição e e nosso aprendizado.
