Ir ao conteúdo
  • Cadastre-se
Entre para seguir isso  
tiagonmuniz

[Resolvido] Ajuda Macro VBA

Recommended Posts

Bom Dia pessoal.

Preciso de um help, tenho alguns projetos e preciso de macro para facilitar meu trabalho.

segue então as duvidas.

problema 1

tenho uma planilha que recebo todos os dias com a relação de veiculos que irão carregar durante a madrugada, porém esta planilha é bastante grande, e serve mais como documento virtual,

porém preciso retiar desta planilha algumas coisas para imprimir antes de começar a trabalhar e preciso emitir um relatorio final ao terminar,

Conclusão, preciso retiar apenas algumas linhas verticais desta planilha, consegui fazer algo com o copiar e colar atalho. porém a dificuldade é que todo o dia a planilha muda, um dia tem 20 caminhoes, outro tem 40, outro tem 10, é tudo relativo, preciso então de uma macro, eu acho que faça a copia apenas das linhas que estão preenchidas.

problema 2.

tenho uma listagem, feita em excel que tem as informaçoes de veiculo, peso e etc... bom isso é p controlar as reentregas da empresa. Toda vez que chega um veiculo com reentega, eu preciso emitir ete relatorio que é em 4 linhas horizontais, porém é feito 1 relatorio por nf. então preciso de uma macro que a partir do momento que eu inserir um valor (ex 20 ) ele duplique estas linhas uma a baixo da outra com o intervalo de 1 linha em branco para diferenciar uma da outra, e que algumas celulas sejam link da primeira celula. será que voce pode me ajudar?

problema 3.

trabalho com um sistema de datas, então listei os 12 meses e logo abaixo informo o dia de cada mes, (validade dos produtos,) então queria uma formula para que automaticamente quando tiver algum valor em um determinado espaço, a macro, automaticamente insira o mes correspondente, seria quase um copiar e colar, e quando eu pagar esses dados, que ela automaticamente apague esses dados. será que tem como?

aguardo por favor sua resposta, eu sou nvo no forum.

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia!!

Mas a ajuda que você espera, seria feita sem ao menos ver seu arquivo modelo.

Poste seu arquivo modelo em site gratuito, como sendspace ou outros e poste o link aqui.

Att

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, infelizmente a internet em minha empresa não permite o acesso a maioria dos sites, se eu enviar via e-mail os arquivos detalhadamente voce poderia me auxiliar?

Aguardo retorno.

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia!!

Faça assim e teste...

Sub RepeZinhVBA()
Dim LR As Long, i As Long

LR = Range("B" & Rows.Count).End(xlUp).Row + 2
If [J2].Value <> "" Then
For i = 1 To Range("J2").Value
Range("B" & LR).Select
Range("B2:G6").Copy _
Destination:=Range("B" & LR)
LR = LR + 6
Next i
End If
End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi, até ta funcionando, porém preciso informar o valor que quero e ir até o vba e dar o play, ai ele faz a função, automatico não tem como? outra pergunta. tem alguma macro para retirar, ou seja em 1 placa preciso de 10 reentregas, e na outra de repente 5, existe uma macro que assim como inclui, que retire o que foi incluido?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde!!

Eu não entendi.

Oi, até ta funcionando, porém preciso informar o valor que quero e ir até o vba e dar o play, ai ele faz a função, automatico não tem como?
Para executar é só por um botão e referenciar a macro para após clicar, a macro funcionará, outra coisa, o valor digitado em J2, é que determinará a repetição, se não for isso eu não entendi.
outra pergunta. tem alguma macro para retirar, ou seja em 1 placa preciso de 10 reentregas, e na outra de repente 5, existe uma macro que assim como inclui, que retire o que foi incluido?
Neste caso você pretende deletar as tabelas?
  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite.

quanto ao botão ja estou inserindo um, (juro que nao lembrei) já quanto ao remover as tabelas, seria util, se tiver como é claro.

Pois como utilizo a mesma planilha para varios veiculos, as vezes recebo 1 com 10 notas para fazer reentrega, preencho e imprimo ela, logo apos chega um com 3 ou 4 ou 5, entende? desta forma se tiver como remover ficaria otimo, mas no caso de ser complicado ai eu faço manual. fecho ela sem salvar e fico com um modelo de apenas 1 unidade.

Obrigado pela ajuda.

Boa noite.

quanto ao botão ja estou inserindo um, (juro que nao lembrei) já quanto ao remover as tabelas, seria util, se tiver como é claro.

Pois como utilizo a mesma planilha para varios veiculos, as vezes recebo 1 com 10 notas para fazer reentrega, preencho e imprimo ela, logo apos chega um com 3 ou 4 ou 5, entende? desta forma se tiver como remover ficaria otimo, mas no caso de ser complicado ai eu faço manual. fecho ela sem salvar e fico com um modelo de apenas 1 unidade.

Obrigado pela ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo...

Será que tem como fazer algo para que ao imprimir o documento ele ignore algumas células? tipo eu coloquei nesta planilha de reentrega ao lado direito umas linhas as quais não quero que sejam impressas, lá é o campo onde devo inserir a quantidade a ser duplicada, outro campo para informar 1 placa, outro para outra placa, ou seja... do J1 até o k7 (seleção).

porém ao mandar imprimir ele sempre vai imprimir estes campos e ai preciso imprimir manualmente.

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite!!

Eu não tenho como testar, mas tente adaptar...

Worksheets("REENTREGA VAREJO").PageSetup.PrintArea = "B2:G" & LR

Ou

Worksheets("REENTREGA VAREJO").PageSetup.PrintArea = Range("B2", Range("G65536").End(xlUp)).Address

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigo...

esta formula funcionou melhor.

Worksheets("REENTREGA VAREJO").PageSetup.PrintArea = Range("B2", Range("G65536").End(xlUp)).Address

porém ela selecina apenas as b2 até a g3

as outras celulas ele não permite a impressão.

tentei adaptar porém se eu mudar g600 exemplo, ele seleciona todas estas para impressão e nao apenas as que estão preenchidas.

(ou sejas se for apenas 1 pagina com 5 reentregas, ele imprimi todas as outras em branco).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado Amigo, mas acho que com as impressoras que vem padrão do Windows, aquelas p gerar PDF tb funciona, tipo o foxit (pdf).

se não for pedir demais é claro, fico aguardando, mas não tem urgência viu, pois até então como está já estou conseguindo usar beleza. é apenas para facilitar um pouco mais o que já está bom.

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite!!

Veja se esse te ajuda.

Sub ImprimirZinhoVBA()
Dim LastRow As Long
With Worksheets("REENTREGA VAREJO")
LastRow = Worksheets("REENTREGA VAREJO").Cells(Rows.Count, "B").End(xlUp).Row
.Range(.Cells(2, 2), .Cells(LastRow, 7)).Select
End With
ThisWorkbook.ActiveSheet.PageSetup.PrintArea = Selection.Address
End Sub

Obs:Não testado!!

Att

Compartilhar este post


Link para o post
Compartilhar em outros sites

POis é amigo funcionou perfeitamente se for apenas 1 reentrega, na situação de ter outras entregas, ai ele só permite imprimir a primeira. será que nao tem uma que simplesmente não imprima aquelas linhas que eu não quero? tipo só ignorar aquelas? e imprimir todas as outras (preenchidas)???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia!!

Infelizmente eu ainda não pode testar...:(

Sub NaoTestado()
Dim LastRow As Long
LastRow = Cells(Rows.Count, "B").End(xlUp).Row
Range("B2", Cells(LastRow, 7)).PrintOut
End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, nÃo funcionou, mas nÃo se preocupe. Vamos deixar assim...

Preciso de outra ajuda.

Tenho em uma planilha o resultado (procv) (sÃo marcas de produtos)

nas celulas b15 a b21, porém preciso filtrar as celulas diferentes apenas.

Ex,

b15 (lebon)

b16 (lebon)

b17 (friboi)

b18 (frangosul)

b19

b20

b21

no final preciso que fique: Lebon - friboi - frangosul

ou seja quero apenas 1 resultado de cada marca, caso sejam repetidos e no caso de celulas vazias, que continuem sem resultado algum.

Se puderem ajudar eu agradeÇo.

(assim que estiver em casa eu posto a planilha para entender melhor), preciso apenas da formula ou macro para filtrar resultados duplicados e informar apenas 1 em outra celula, logo tenho as celulas c15, atÉ c21 que sÃo as celulas que uso para o concactenar, que irÁ dar o resultado das marcas em ordem e separadas por ifen.

O problema ta sendo filtrar elas, ou seja, resumir as repetidas em apenas 1 marca.

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia!!

Eu fico triste em não poder ajudar na impressão:(

Mas veja sua nova solicitação, talvez ajude.

Considerando que em F14 até F50 não tenha dados neste intervalo, então tente isso.

Sub ElimDuplic()
Application.ScreenUpdating = 0
[F14].Value = "ZinhoVBA"
Range("F15:F50").ClearContents
Range("B15:B21").Copy Destination:=Range("F15")
Columns("F:F").Select
ActiveSheet.Range("$F$14:$F$50").RemoveDuplicates Columns:=1, Header:= _
xlYes
Range("A1").Select
Application.ScreenUpdating = 1
End Sub

Att

Compartilhar este post


Link para o post
Compartilhar em outros sites

BOM DIA!

Amigão, vou mandar o arquivo completo para voce poder ver, acredito que pelas celulas na verdade serem resultade de uma PROCV não está funcionando.

Note que se tiver 2 marcas diferentes, ele remove as duplicadas e também uma das marcas que é diferente.

eu tava pensando... eu tenho aqui uma formula que tenho usado para auto preencher no caso de ser maior que zero. ou seja =SE(E(H9<"0");"";"/MAI/")

será que não tem uma formula que pudece fazer o contrario, ou seja ao invés de ser maior, que fosse diferente. pois fiz minha planilha onde B15 á B21 trazem o resultado de uma procv, ao lado em C15 á c21 é apenas a copia destas planilhas para poderem ser excluidas. ( ou seja, C15 a C21 são links da coluna B), desta forma posso apagar elas e deixar só as marcas diferentes.

porém penso, se houver uma forma de auto filtrar, tipo igual aquela formula =SE(E(H9<"0");"";"/MAI/") porém que ela copie da B15 para C15 apenas as que forem diferentes entre elas, ja resolveria meu problema, pois tenho em outra celula onde copio os resultados das celulas C15 a C21, onde não está preenchido não aparece nada. será que tem como????

eu imagino que o ideal seria =SE(E(B15diferente"outras celulas");"";"resultado") aguardo sua resposta.

Detalhe... são varias marcas. e preciso filtrar elas. mas filtrar apenas as repetidas. e pode também que todas sejam marcas diferentes. o que não pode é ir marca repetida.

hje a noite envio tabela.

Obrigado.

BOM DIA!

Amigão, vou mandar o arquivo completo para voce poder ver, acredito que pelas celulas na verdade serem resultade de uma PROCV não está funcionando.

Note que se tiver 2 marcas diferentes, ele remove as duplicadas e também uma das marcas que é diferente.

eu tava pensando... eu tenho aqui uma formula que tenho usado para auto preencher no caso de ser maior que zero. ou seja =SE(E(H9<"0");"";"/MAI/")

será que não tem uma formula que pudece fazer o contrario, ou seja ao invés de ser maior, que fosse diferente. pois fiz minha planilha onde B15 á B21 trazem o resultado de uma procv, ao lado em C15 á c21 é apenas a copia destas planilhas para poderem ser excluidas. ( ou seja, C15 a C21 são links da coluna B), desta forma posso apagar elas e deixar só as marcas diferentes.

porém penso, se houver uma forma de auto filtrar, tipo igual aquela formula =SE(E(H9<"0");"";"/MAI/") porém que ela copie da B15 para C15 apenas as que forem diferentes entre elas, ja resolveria meu problema, pois tenho em outra celula onde copio os resultados das celulas C15 a C21, onde não está preenchido não aparece nada. será que tem como????

eu imagino que o ideal seria =SE(E(B15diferente"outras celulas");"";"resultado") aguardo sua resposta.

Detalhe... são varias marcas. e preciso filtrar elas. mas filtrar apenas as repetidas. e pode também que todas sejam marcas diferentes. o que não pode é ir marca repetida.

hje a noite envio tabela.

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigo, teria como mandar por e-mail, pois como são arquivos da empresa, prefiro que nao fique disponivel na net p todos baixarem. tem como? me passa teu e-mail.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×