Ir ao conteúdo

Posts recomendados

Postado

Tenho um arquivo em excel que sempre recebo por email.

este arquivo é chamado Relatório Geral.

tenho um arquivo chamado Resultado em excel também.

Quero copiar todas as colunas e todas as linhas (Crtl+c e crtl+v) deste Relatório Geral para o Arquivo Resultado

como se fosse um espelho.

é que toda a semana eu recebo este arquivo geralmente ele vem com umas 10 linhas a mais a cada semana.

hoje ele tem 400 linhas com 30 colunas semana que vem ele vai para umas 430 linhas com as 30 colunas.

então com uma macro facilitaria muito eu passar tudo para um arquivo onde consigo sempre manipular os dados.

tentei usar este código porém toda a vez que executo ele duplica toda a tabela

Sub Macro1()

Dim original As Workbook

Dim replica As Worksheet

Dim remoto As Long

Dim controle As Long

Application.ScreenUpdating = False

With ActiveSheet

Set original = Workbooks.Open(Application.GetOpenFilename)

Set replica = original.Sheets(1)

controle = .Cells(.Rows.Count, "A").End(xlUp).Row

remoto = replica.Cells(replica.Rows.Count, "A").End(xlUp).Row

replica.Range(IIf(remoto - 66655 < 1, 1, remoto - 66655) & ":" & remoto).EntireRow.Copy Destination:=.Range("A" & controle)

End With

original.Close False

Set replica = Nothing

Set original = Nothing

Application.ScreenUpdating = True

End Sub

este código funciona porém ele vai adcionando mais informações abaixo da última linha preenchida, e quero que ele substitua tudo toda vez que eu executar.

obrigado quem puder me ajudar

Postado

Resolvi o problema principal

Sub Macro1()

Dim original As Workbook

Dim replica As Worksheet

Dim Remoto As Long

Dim Eu As Long

Application.ScreenUpdating = False

With ActiveSheet

Set original = Workbooks.Open(Application.GetOpenFilename)

Set replica = original.Sheets(1)

Eu = .Cells(.Rows.Count, "A").End(xlUp).Row

Remoto = replica.Cells(replica.Rows.Count, "A").End(xlUp).Row

replica.Range(IIf(Remoto - 66655 < 1, Eu, Eu - 66655) & ":" & Remoto).EntireRow.Copy Destination:=.Range("A" & Eu)

End With

original.Close False

Set replica = Nothing

Set original = Nothing

Application.ScreenUpdating = True

End Sub

-------------------------

Só me falta agora fazer uma seleção de uma coluna no caso a coluna (L)

e dividir em 2 planilhas diferentes

uma para Pertence e outra para Pendente.

na coluna L apenas existem estas 2 palavras (penso que é igual ao esquema PROCV de Excel mesmo, em macro não tenho ideia)

ficaria assim

planilha 2 só as linhas que contenham a palavra Pertence

planilha 3 só as linhas que contenham a palavra Pendente

  • 7 anos depois...
Postado

Prezados,

Enfrento a seguinte situação, tenho alguns colegas que precisam preencher um Follow Up diariamente e enviar antes das 09:00 da manhã, porém somente um usuario por vez pode utilizar, gostaria de ter uma planilha para cada usuário em uma pasta e a partir dela preencher a principal, todas elas possuem a mesma ordem de coluna e preenchimento, como posso fazer isso, estou iniciando agora com o VBA e não tenho ideia de como o fazer.

Em resumo é preencher uma planilha principal a partir de varias planilhas preenchidas dentro de uma mesma pasta mantendo a linha um como padrão que informa o que deve ser preenchido.

Em anexo a planilha principal que deverá ser preenchida e uma de modelo onde cada usuario preencherá a sua.

Espero que possam me auxiliar.

Ciclano.xlsxBuscando informações... Fulano.xlsxBuscando informações... FOLLOW UP - Geral.xlsxBuscando informações...

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

Mostrar 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

Mostrar mais  
×
×
  • Criar novo...