Ir ao conteúdo
  • Cadastre-se

Visual Basic Colar em Determinado Intervalo


Posts recomendados

Boa Noite!

Peço a ajuda de vocês, pra ver se conseguem resolver um problema.

Tenho uma planilha com duas abas: "Medias de Tempo" e "Medias". Preciso copiar dados da planilha "Medias de Tempo" para a planilha "Medias", porém com algumas condições.

Quero associar um botão "OK" na planilha "Medias de Tempo", que quando acionado ele copia dados das celulas "A6" e "C6" para a planilha "Medias" em "A4" e "B4", e a cada clique colasse na linha seguinte: "A5" e "B5", "A6" e "B6" e assim por diante. porém há um detalhe: Como podem ver na planilha anexa, o intervalo de linhas na planilha "Medias", vai de "A4:B4" a "A13:B13". Gostaria que quando preenchesse "A13:B13", voltasse a colar novamente em "A4" e "B4", mas sem apagar os dados das celulas restantes. Ficaria algo assim.

Primeiro clique:

Copia "A6" e "C6" de "Medias de Tempo e cola em "A4" e "B4" de "Medias"

Segudo clique:

Copia "A6" e "C6" de "Medias de Tempo e cola em "A5" e "B5" de "Medias"

 Terceiro clique:

Copia "A6" e "C6" de "Medias de Tempo e cola em "A6" e "B6" de "Medias"

.

.

Décimo clique:

Copia "A6" e "C6" de "Medias de Tempo e cola em "A13" e "B13" de "Medias"

 

Agora é que o bicho pega.

 

Décimo Primeiro clique:

Copia "A6" e "C6" de "Medias de Tempo e volta a colar em "A4" e "B4" de "Medias", mantendo as informações de A5:B5 até A13:B13

Décimo Segundo clique:

Copia de "Medias de Tempo" A6 e C6 e cola em "Medias" A5 e B5, mantendo as informações de A4:B4, A6:B6 até A13:B13

Até chegar em "A13:B13' novamente e repetir o processo.

Deu prá enterder? O intervalo de colagem será sempre o mesmo, colando nas celulas destino, mas sem apagar as outras.

OBS: Notem que quando me referi às celulas "A6" e "C6", coloquei o E entre elas, é preciso apenas dessas duas celulas, e não do intervalo "A6:B6", ou seja "A6:B6:C6"

Abaixo a macro que tenho, mas só funciona metade do que preciso

Sub Macro2()

Dim r As Integer
Sheets("Medias").Activate
'Determina qual a ultima linha com valor na coluna A e adiciona 1
     r = Range("A13").End(xlUp).Offset(1, 0).Row
'Copia a celula A6 da planilha Medias de Tempo
    Sheets("Medias de Tempo").Range("A6").Copy
'Cola os dados sem formulas (se houver)
    Sheets("Medias").Range("A" & r).Activate
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
'Copia a celula C6 da planilha Medias de Tempo
    Sheets("Medias de Tempo").Range("C6").Copy
'Cola os dados sem formulas (se houver)
    Sheets("Medias").Range("B" & r).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Sheets("Medias de Tempo").Activate
    Application.CutCopyMode = False

End Sub

Obrigado

Telmo

 

 

teste1hardware.xls

Link para o comentário
Compartilhar em outros sites

Boa Tarde!
Consegui resolver mais uma parte do meu problema conforme a macro abaixo.

 

Sub Macro2()

Dim r As Integer
Sheets("Medias").Activate

     If Range("A13") <> "" Then
     Range("A4:B13").ClearContents
     End If

'Determina qual a ultima linha com valor na coluna A e adiciona 1
     r = Range("A13").End(xlUp).Offset(1, 0).Row
'Copia a celula A6 da planilha Medias de Tempo
    Sheets("Medias de Tempo").Range("A6").Copy
'Cola os dados sem formulas (se houver)
    Sheets("Medias").Range("A" & r).Activate
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
'Copia a celula C6 da planilha Medias de Tempo
    Sheets("Medias de Tempo").Range("C6").Copy
'Cola os dados sem formulas (se houver)
    Sheets("Medias").Range("B" & r).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    'Sheets("Medias de Tempo").Activate
    Application.CutCopyMode = False

End Sub


O IF é a parte que inclui, porém só faz metade do que preciso.
Ao colar em "Medias" em "A13:B13", começa a colar novamente nas celulas "A4:B4", depois em "A5:B5", e assim por diante, é isso que eu preciso. Mas só consigo fazer, apagando todo o intervalo, que é o que não quero.
Tem como manter os conteúdos das outras celulas?
Obrigado
Telmo

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!