Ir ao conteúdo
  • Cadastre-se

Cleomirfl

Membro Pleno
  • Posts

    27
  • Cadastrado em

  • Última visita

Tudo que Cleomirfl postou

  1. Bom dia Pessoal! Precisando de uma ajuda aí em VBA, seguinte: Tenho um código atribuído em um botão na planilha do excel entitulada Ordem de carregamento FGDd, funciona normal esse código...ele seleciona um range e converte para .pdf e logo em seguida abre uma nova mensagem no outlook para enviar...beleza..funciona...o que eu estava querendo melhorar ele é no seguinte: Depois que o código convertesse para .pdf e anexasse essa range no outlook, ele copiasse e colasse uma nova range (B36:K60)no corpo do mesmo email, entende? ou seja, gostaria de acrescentar algumas linhas nesse código para selecionar mais um range (B36:K60) e colocar no corpo do email; Disponibilizo o código que uso atualmente....ele funciona bem, mas gostara de dar um "upgrade" ... Sub email() Dim rng As Range Dim OutApp As Object Dim OutMail As Object Dim intervalo As Range Set intervalo = Planilha1.Range("B36:K60") intervalo.Copy Para = "[email protected]" 'destinatátio de email ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ "Y:\02 - Controle de Operação\" & [B1] & ".pdf" ' Caminho onde se encontra o arquivo a ser convertido - Célula B1(Nome da planilha) File = "Y:\02 - Controle de Operação\Ordem de coleta de carga.pdf" Set rng = Nothing On Error Resume Next Set rng = Range("A1:K33").SpecialCells(xlCellTypeVisible) On Error GoTo 0 Set OutApp = CreateObject("Outlook.Application") Set OutMail = OutApp.CreateItem(0) On Error Resume Next With OutMail .To = Para .Subject = "Relatório Diário de Produção Belocal Rio " & Format(Now, "dd/mmm/yyyy") .Attachments.Add File .Display End With On Error GoTo 0 With Application .EnableEvents = True .ScreenUpdating = True End With Set OutMail = Nothing Set OutApp = Nothing ActiveWorkbook.Save End Sub Está salvo como pasta de trabalho sem macro porque não consegui anexar a que está habilitada...mas a que uso está habilitada. Ordem de carregamento FGDd.xlsx
  2. Excelente meu camarada...acredito q agora não tenhamos mais surpresas..rsrsr..valeu pelo suporte...estarei iniciando em janeiro um curso de VBA, espero que um dia consiga desenrolar desse jeito como você! Obrigado mais uma vez!!!
  3. @osvaldomp ..desculpe pela demora em responder meu camarada, fiquei sem pc esses dias, mas vamos lá..tinha me esquecido de salvar como pasta autorizada para macro...rsrs..mas tá aí no anexo agora.. Não estou conseguindo anexar a planilha com o código, está dando que não é permitido salvar a planilha..não sei porque..mas diponibilizo o código abaixo..está salvo no Módulo...conforme figura abaixo; Sub EnviaIntervalo() Application.ScreenUpdating = False With Sheets("RECEBIMENTO DE CALES") .AutoFilterMode = False .Range("A5:P5").AutoFilter Field:=1, Criteria1:= _ ">=" & CDbl(Date - 4), Operator:=xlAnd, Criteria2:="<" & CDbl(Date + 1) Sheets.Add .Range("A5:P" & .Cells(Rows.Count, 1).End(3).Row).Copy [A1] .AutoFilterMode = False End With Columns("A:P").AutoFit Range("A1:P" & Cells(Rows.Count, 1).End(3).Row).Select ActiveWorkbook.EnvelopeVisible = True With ActiveSheet.MailEnvelope .Introduction = "Informações Apuradas as 06h" .Item.To = "[email protected]" 'coloque o destinatário da mensagem .Item.Subject = "Recebimento de Cales" .Item.Send End With Application.DisplayAlerts = False ActiveSheet.Delete Application.DisplayAlerts = True Application.ScreenUpdating = True MsgBox "Relatório Enviado com sucesso!" End Sub Obrigado pela ajuda aí mano... REC.xlsx
  4. @osvaldomp ..Opa..desculpe meu amigo...vou disponibilizar aqui...Observe q a formatação condicional nas colunas F e P não saem quando clico no botão "ENVIAR RELATÓRIO RECEBIMENTO DE CALES" como vemos na imagem abaixo... Estranho... REC.xlsx
  5. Boa noite, Td bem Osvaldo! Então, esse código tava rodando de boa..mas agora ele não está enviando as formatações como de costume, tipo...horas em vermelho...se o sujeito está liberado ou aguardando... Antes enviava assim: Agora está enviando sem essas formatações...está sim Sabe me dizer o porque que isso ocorre? Mais uma vez obrigado aí cara..
  6. @osvaldomp Voltou a funcionar depois que voltaram com minha máquina cara, não faço a menor ideia do que pode ter acontecido...rsrs..mas obrigado pelo apoio aí mano...grande abç!!
  7. @Basole ..voltou a funcionar depois que voltaram com minha máquina...graças a Deus!!! Obrigado pela força aí...
  8. Estarei no pernoite hj... aí quando chegar no serviço vou tentar fazer..
  9. Como faço isso amigo? Sou meio leigo nesse assunto...rsrs
  10. Estou com o mesmo problema, fiz a troca e não funcionou...continua apresentando o ERRO: Erro em tempo de execução '1004': O método 'EnvelopeVisible' do objeto '_WorkBook' falhou. O código que estou usando.... Sub EnviaIntervalo() Application.ScreenUpdating = False With Sheets("RECEBIMENTO DE CALES") .AutoFilterMode = False .Range("A5:P5").AutoFilter Field:=1, Criteria1:= _ ">=" & CDbl(Date - 4), Operator:=xlAnd, Criteria2:="<" & CDbl(Date + 1) Sheets.Add .Range("A5:P" & .Cells(Rows.Count, 1).End(3).Row).Copy [A1] .AutoFilterMode = False End With Columns("A:P").AutoFit Range("A1:P" & Cells(Rows.Count, 1).End(3).Row).Select ActiveWorkbook.EnvelopeVisible = True - ERRO NESTA LINHA! With ActiveSheet.MailEnvelope .Introduction = "Informações Apuradas as 06h" .Item.To = "[email protected]" 'coloque o destinatário da mensagem .Item.Subject = "Relatório - Recebimento de Cales" .Item.Display End With Application.DisplayAlerts = False ActiveSheet.Delete Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub
  11. Então meu amigo.... 1. Deixei a célula A5 selecionada...deu o mesmo erro... 2. Sim, existe Outlook no Note...vice e versa; 3. Conexão também tenho.... Fiquei perdido agora mano...tava tudo funcionando adicionado 14 minutos depois Anexei um teste..se você puder dar uma olhada aí...só tive que salvar como excel comum...excel com VBA não estava aceitando...rsrs Teste 1.xls
  12. @osvaldomp Boa tarde amigo! Preciso de um help seu...seguinte: esse código estava rodando de boa sem maiores problemas ,porém o pc que uso(..que é compartilhado com mais 5 pessoas) pegou vírus..então o pessoal do TI recolheu minha máquina e instalou um notebook no lugar, porém desde de que isso aconteceu não consigo mais rodar o código que você me ajudou...aparece o seguinte erro: Erro tempo de execução 1004 EnvelopeVisible do objeto_Workbook falhou... Sub EnviaIntervalo() Application.ScreenUpdating = False With Sheets("RECEBIMENTO DE CALES") .AutoFilterMode = False .Range("A5:P5").AutoFilter Field:=1, Criteria1:= _ ">=" & CDbl(Date - 4), Operator:=xlAnd, Criteria2:="<" & CDbl(Date + 1) Sheets.Add .Range("A5:P" & .Cells(Rows.Count, 1).End(3).Row).Copy [A1] .AutoFilterMode = False End With Columns("A:P").AutoFit Range("A1:P" & Cells(Rows.Count, 1).End(3).Row).Select ActiveWorkbook.EnvelopeVisible = True....ESSA É A LINHA DO ERRO! With ActiveSheet.MailEnvelope .Introduction = "Informações Apuradas as 06h" .Item.To = "[email protected];[email protected]" 'coloque o destinatário da mensagem .Item.Subject = "Recebimento de Cales" .Item.Send End With Application.DisplayAlerts = False ActiveSheet.Delete Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub ...Tô caçando na net algo parecido, porém não encontro..consegue me dar mais essa ajuda? Cleomir
  13. Boa tarde Pessoal! Mais uma vez venho recorrer a ajuda de vcs...rsrs Seguinte: ...tenho uma planilha de controle de recebimento de pesos(Ton) por nota fiscal..deixei ela preenchida como exemplo...o que necessito é o seguinte: Gostaria de manipular somente uma célula(...a célula C4) colocando o valor bruto que passa na balança e alguma fórmula que distribuísse o valor na nota fiscal correspondente, o que ocorre hoje é que toda NF que passa na balança o operador tem que ficar subtraindo da NF anterior para colocar o valor da NF que pesou...hoje tenho uma fórmula simples de soma de totais na coluna G14:G17... Teste Balança.xlsx
  14. Boa tarde Pessoal! Mais uma vez venho recorrer a ajuda de vcs...rsrs Seguinte: ...tenho uma planilha de controle de recebimento de pesos(Ton) por nota fiscal..deixei ela preenchida como exemplo...o que necessito é o seguinte: Gostaria de manipular somente uma célula(...a célula C4) colocando o valor bruto que passa na balança e alguma fórmula ou VBA distribuísse o valor na nota fiscal correspondente, o que ocorre hoje é que toda NF que passa na balança o operador tem que ficar subtraindo da NF anterior para colocar o valor da NF que pesou...hoje tenho uma fórmula simples de soma de totais na coluna G14:G17... Teste Balança.xlsx
  15. Osvaldo...olhando aqui o erro estava justamente na troca da data para 1904(para reconhecer datas negativas) ...percebi quando você mencionou acima sobre a data de 2015...quando enviei a planilha tinha enviado como 2019(..mas como sistema de data modificado para 1904)..aí quando você recebeu ela automaticamente converteu para 2015...retornei aqui e deu certo...o código está funcionando normalmente... Obrigado pelo apoio cara, desculpe a amolação...rsrs...acredito que agora não haverá mais problemas!!! Obrigado!!
  16. Coloquei o código de novo e inseri a data do dia de ontem(..dia 07/09)...continua puxando só o intervalo A5:P5 e não puxa o dia 07..o q será que houve? estava funcionando perfeitamente... adicionado 14 minutos depois @osvaldomp ...desculpa estar te incomodando em pleno domingo cara, mas é que preciso enviar esse relatório amanhã de manhã para a gerência...sou iniciante e VBA, ou seja...não domino o assunto...se puder me dar uma luz do que pode estar acontecendo...
  17. Então se eu retornar com esse código e tiver a data do dia de ontem por exemplo ele vai funcionar de novo?
  18. O intervalo A5:P5 e as datas de dois dias para trás + o dia atual
  19. Bom dia Osvaldo, vê se consegue me ajudar aê...depois que passei o sistema de data para 1904(...reconhecer horas negativas) o código não envia mais as linhas dos dias...tá enviando só o intervalo do título... Já voltei a data para o sistema antigo...mas não sei o que houve..o código não envia como estava programado; Recebimento - Cópia.xls
  20. Parabéns meu camarada...excelente resultado, tudo funcionando perfeito!!! Muito Obrigado!!
  21. Osvaldo uma última dúvida..rsrs...e se eu quisesse enviar o dia anterior e o atual juntos? Como ficaria o código?
  22. Cara, coloquei o código para rodar...só apareceu isso... adicionado 0 minutos depois Recebi por email, porém só o cabeçalho..rsrs adicionado 29 minutos depois Osvaldo, testei aqui de novo e quase deu certo..rsrs...quando coloco o código para rodar ele primeiro dá erro 400, depois abre uma nova guia e quando retorno para a planilha de recebimento ele está somente filtrada e não seleciona a parte filtrada para enviar por email...sinto que estamos chegando perto...rsrs adicionado 40 minutos depois Deu certo por aqui Osvaldo...tava colocando o código no lugar errado..rsrs...obrigado pela paciência e pela força cara...grande abç!!!
  23. ...cara, acho que me expressei mal...na vdd esse código que uso envia apenas uma guia inteira(..que é essa entitulada - Recebimento de Cal)...Essa planilha que uso é gigante, são mais de 15mb de arquivos, por isso desmembrei somente esta guia...então a guia RDO - 01 não aparece para você(...kkkkkk, a parte do ET e do doende foi D+)... O botão que coloquei o código fica nessa planilha RDO...por causa de lançamentos atrelados ao controle de processo...aí como não tinha conseguido desenvolver....coloquei um link para transferir tudo que é digitado nessa guia de Recebimento para aparecer na guia de RDO, para poder então enviar(...por isso disse que enviava a planilha toda, mas na realidade é só a guia Recebimento que é enviada).. Agora uma dúvida Osvaldo: Esse código vai separar os intervalos referentes ao dia anterior? Tipo...amanhã dia 26/8 se eu colocar esse código para rodar ele vai puxar somente as datas do dia 25/08 ou os intervalos cadastrados previamente?
  24. Em 23/08/2019 às 22:12, Cleomirfl disse: ... a planilha fica inteira nesse intervalo... O seu conceito de "planilha inteira" é diferente do significado real R: Então, o significado real é justamente o que te falei...esse intervalo seleciona essa planilha inteira para enviar por email...justamente porque não consegui selecionar somente uma parte dela para enviar... Sobre o código RDO - 01...isso serve apenas para desbloquear e bloquear a guia de nome RDO - 01... Não faz sentido colocar um comando para desbloquear uma planilha que não existe. Ainda, esse comando irá provocar Erro em tempo de execução - Subscrito fora do intervalo. R:...engano seu...não só existe como preciso desse código para desbloquear e bloquear logo em seguida, envio essa guia por email a partir de um botão dessa guia RDO - 01...todas as guias da planilha ficam bloqueadas... Preciso de um código que busque justamente a data do dia anterior...conseguiu entender? Na sua planilha há datas em várias colunas, então você precisa informar com exatidão: 1. em qual coluna o código irá procurar a tal data do dia anterior? R: Na primeira coluna..de nome Criação NF... 2. haverá uma única célula com a data procurada ? R: Não...porque existem mais datas abaixo da primeira..as vezes existem mais de 10 datas iguais..o que diferem elas são os horário a frente delas... 3. ao encontrar a data procurada qual o intervalo a ser enviado por email ? R: Exemplo...se a data estiver na célula A6...ela buscar o intervalo A6:O15...podendo variar...porque poso ter mais ou menos datas lançadas na coluna A... 4. a expressão "data do dia anterior" requer uma data de referência. Qual é a data de referência ? Forneça exemplos. R: A data de referência será sempre a data atual..exemplo: hoje é dia 25/08..quando der o comando ela buscar sempre a data do dia 24/08... OBS: Essa planilha é uma planilha de recebimento de Notas Fiscais...lançadas uma a uma com várias informações sobre ela, podendo variar a quantidade de Notas por dia...por isso estou precisando de um código para isso...pois o cliente não está querendo receber a planilha inteira...quer só as NF dos dia anterior; OBS: Como o exemplo acima...quando desse o comando, enviar somente do dia 22/08 para baixo, porém toda a área demarcada em vermelho..que nesse caso seria o intervalo A178:O187...
  25. ... tenho até um código que faz isso, porém ele seleciona a planilha inteira e envia por email, ... O seu código envia apenas o conteúdo do intervalo CL01:DA330, não envia a planilha inteira. Ainda, o seu código supostamente atua sobre uma planilha de nome RDO - 01 e no seu arquivo não existe planilha com esse nome. Sim..a planilha fica inteira nesse intervalo...por isso disse que envia ela toda!!...Sobre o código RDO - 01...isso serve apenas para desbloquear e bloquear a guia de nome RDO - 01... ... mas agora preciso enviar somente o dia anterior das informações.... Você precisa informar qual o intervalo a ser enviado ou informar em que célula está o "dia anterior" ou você poderá selecionar manualmente o intervalo a ser enviado. Justamente isso que preciso, porém os dias anteriores não são fixos...pois a programação de carregamento difere de um dia para o outro, por isso não consigo especificar o intervalo(..o motivo de enviar ela inteira)... Preciso de um código que busque justamente a data do dia anterior...conseguiu entender?

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!