Ir ao conteúdo
  • Cadastre-se

Ajuda Macro VBA


tiagonmuniz

Posts recomendados

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.

Link para o comentário
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?

Link para o comentário
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?
Link para o comentário
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.

Link para o comentário
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.

Link para o comentário
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).

Link para o comentário
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.

Link para o comentário
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

Link para o comentário
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)???

Link para o comentário
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.

Link para o comentário
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

Link para o comentário
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.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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