Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
  • Avatar do usuário
#8439
Salve pessoal!

O título parece estranho, mas é bem simples.

Fiz algumas formas mas não me geraram o resultado esperado.

Preciso criar uma macro para identificar quantos itens há na coluna A e depois selecionar o range B2:K2, copiar e colar até a última linha que contém itens conforme a coluna A.

Fiz o código abaixo, mas aí tem que ficar clicando no botão para executar, e o que preciso é que execute tudo de uma vez:
Código: Selecionar todos
Sub copiar()

    Range("B2:K2").Select
    Selection.Copy
    Range("B2").Select
    Do
        If ActiveCell <> "" Then
        ActiveCell.Offset(1, 0).Select
        End If
    Loop Until ActiveCell = ""
    ActiveCell.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Application.CutCopyMode = False

End Sub
Segue imagem para melhor entendimento.

Imagem

Agradeço a ajuda.
Você não está autorizado a ver ou baixar esse anexo.
#8440
Boa tarde!!

Tente assim
Código: Selecionar todos
Sub AleVBA_1628()
Dim wsSrc As Worksheet
Dim wsDst As Worksheet
Dim Last_Row As Long

Last_Row = Range("A" & Rows.Count).End(xlUp).Row

    Set wsSrc = Worksheets("Sheet1")
    Set wsDst = Worksheets("Sheet1")
    
    wsSrc.Range("A2:A" & Last_Row).Copy
    wsDst.Range("B2").PasteSpecial xlPasteValues, Transpose:=True
    Application.CutCopyMode = False
    
End Sub
Att
#8442
Não deu Alexandre. O resultado foi o abaixo:

Imagem

Ele copiou os itens da coluna A e colou na linha B2:K2.

Precisamos que os itens em B2:K2 sejam copiados conforme a quantidade de itens na Coluna A, por exemplo, se a Coluna A tem 50 registros (A2:A51), a macro vai copiar os itens em B2:K2 e copiar até a linha 51. Veja abaixo:

Imagem

Abs.
#8463
Boa tarde!!

Sinceramente eu ainda não entendi, eu presumi que era isso..
Código: Selecionar todos
Sub AleVBA_1628V2()
Dim wsSrc As Worksheet
Dim wsDst As Worksheet

    Set wsSrc = Worksheets("Sheet1")
    Set wsDst = Worksheets("Sheet1")
    
    wsSrc.Range("B2:K2").Copy
    wsDst.Range("A2").End(xlDown).PasteSpecial xlPasteValues, Transpose:=True

    Application.CutCopyMode = False
    
End Sub
Caso não seja, vamos aguardar mais alguém que possa lhe ajudar.


Att
#8465
Obrigado mesmo assim Alexandre.

Vamos lá.

O que precisa ser feito é que os registros no range B2:K2 (que não são os mesmos da coluna A) sejam copiados para a quantidade de linhas para baixo conforme a quantidade de registros que houver na coluna A, exemplo, se na coluna A tiver 10 itens preenchidos, o range B2:K2 será copiado até B10:K10, ou, se na coluna A tiver 20 registros preenchidos, os registros do range B2:K2 serão copiados até B20:K20.

Os registros da coluna A não tem nada haver com o range B2:K2, são dados preenchidos manualmente, aí conforme vai inserindo registros na coluna A, depois é só rodar a macro para copiar o range B2:K2 ( que são outros dados inseridos manualmente ) até a linha conforme quantidade de registros na coluna A.

Espero ter esclarecido melhor... :oops:
#8466
Boa tarde Berti!

Acho que entendi o que você quer.
Dá uma olhada no anexo que estou enviando

Espero ter Ajudado.
Se a mensagem foi util Favor Clicar na mãozinha.
Você não está autorizado a ver ou baixar esse anexo.
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord