Vídeo recomendado
https://youtu.be/diWPPPhW-9E

[RESOLVIDO] VBA - Colar na próxima linha em branco

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
Avatar do usuário
cy_rangel
Colaborador
Colaborador
Mensagens: 88
Registrado em: Sex Set 04, 2015 8:32 pm

[RESOLVIDO] VBA - Colar na próxima linha em branco

Mensagem por cy_rangel »

Caros(as),

Boa-noite.

Preciso de mais um help...

Poderiam me ajudar a corrigir a minha vba.

"Preciso que ela procure a primeira linha em branco" a partir da B9 em diante e cole no formato de "valores".

O código abaixo faz a seguinte função:
- Filtra na aba Access - Base | coluna 12 | registros que contenham "Sim"
- Filtra na aba Access - Base | Coluna 13 | Registros "<>" (diferentes de branco)
- Copia tudo que está nesta tabela;
- Vai na Aba "Gerenciamento";
- E cola VALORES na coluna B linha 89.

Aqui está o meu problema, pq preciso que ela cole na primeira linha em branco desta coluna, e não na linha 89.

Alguém conseguiria me ajudar :roll: ?

Código: Selecionar todos

Sub teste()
' teste Macro

    Sheets("Access - Base").Select
    ActiveSheet.ListObjects("Tabela_Cobrança___EH_Serv.accdb_1").Range.AutoFilter _
        Field:=12, Criteria1:="Sim"
    ActiveSheet.ListObjects("Tabela_Cobrança___EH_Serv.accdb_1").Range.AutoFilter _
        Field:=13, Criteria1:="<>"
    Range("C1008").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    Sheets("Gerenciamento").Select
    Range("B89").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("Tabela_Gerenciamento[[#Headers],[Status]]").Select
End Sub

Desde já agradeço muito!

Att.
Cy Rangel.
Editado pela última vez por cy_rangel em Sex Mar 23, 2018 7:05 pm, em um total de 1 vez.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Mauro
Colaborador
Colaborador
Mensagens: 14
Registrado em: Qua Jan 31, 2018 10:23 pm

Re: VBA - Colar na próxima linha em branco

Mensagem por Mauro »

Cy Rangel,
Estou enviando um exemplo, é só adaptar no seu código:

Sub Teste()
'copia da planilha1 da linha A2 até a última célula preenchida e cola na primeira linha em branco da coluna 1 da planilha2


ultimalinha = Sheets("Planilha2").Cells(Rows.Count, 1).End(xlUp).Row 'localiza a última linha preenchida da coluna 1 da plan2
Sheets("Planilha1").Select
Range("A2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Planilha2").Select
Cells(ultimalinha + 1, 1).Select ' seleciona a próxima linha em branco da plan2
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

End Sub

Mauro


Avatar do usuário
cy_rangel
Colaborador
Colaborador
Mensagens: 88
Registrado em: Sex Set 04, 2015 8:32 pm

Re: VBA - Colar na próxima linha em branco

Mensagem por cy_rangel »

Olá Mauro,

Tudo bem?

Muito obrigada pela ajuda de sempre... Eu fiz as adaptações que informou só que preciso da sua ajuda com relação a algumas adequações.

Na planilha 1 preciso que ele copiei os resultados do filtro porém apenas o que estiver na Coluna C a partir da linha 4 (a linha 4 eu tenho o meu cabeçalho) e então,

Ele cola os dados da coluna C (plan1) na primeira linha vazia da coluna B (plan 2).

* Se vc conseguir, ele terá que buscar essa linha vazia na plan 2 a partir da linha 9 (que é onde eu tenho o meu cabeçalho).


Desde já agradeço,

Aguardo o seu retorno.

Att,
Cy Rangel.


Avatar do usuário
cy_rangel
Colaborador
Colaborador
Mensagens: 88
Registrado em: Sex Set 04, 2015 8:32 pm

Re: VBA - Colar na próxima linha em branco

Mensagem por cy_rangel »

Boa-noite à todos.

Quero agradecer ao Mauro pela atenção e informar que consegui fazer a ultima adaptação mencionada no post anterior.

Caso mais alguém precise, segue a forma como fiz.

Código: Selecionar todos

Sub Incluir_Titulo()
'
' Filtra na coluna gerenciamento o que tem SIM e retira as colunas vazias (da ultima coluna)
' Copia o que ficou
' Cola Valores na aba Gerenciamento os novos titulos no final da planilha.

    Sheets("Access - Base").Select
    ActiveSheet.ListObjects("Tabela_Cobrança___EH_Serv.accdb_1").Range.AutoFilter _
        Field:=12, Criteria1:="Sim"
    ActiveSheet.ListObjects("Tabela_Cobrança___EH_Serv.accdb_1").Range.AutoFilter _
        Field:=13, Criteria1:="<>"
    Range("C5").End(xlUp).Offset(1, 0).Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    Sheets("Gerenciamento").Select
    Range("B1048576").End(xlUp).Offset(1, 0).Select
    
 'A Range("B1048576")à corresponde a última célula da coluna b
 'End(xlUp)à localiza a próxima célula preenchida para cima (xlUp)
 'Offset(1, 0)à significa que a seleção estará uma linha abaixo e na mesma coluna da célula selecionada.
    
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("Tabela_Gerenciamento[[#Headers],[Status]]").Select
End Sub
A célula adaptada para a seleção no inicio do filtro até o final foi essa:
Range("C5").End(xlUp).Offset(1, 0).Select

Desde já agradeço a todos do fórum pela atenção de sempre.

Att,
Cy Rangel.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder