Ir ao conteúdo
  • Cadastre-se

victorrgds

Membro Pleno
  • Posts

    63
  • Cadastrado em

  • Última visita

  1. Bom dia Pessoal, Possuo uma planilha que lê a data e envia um email quando essa data é = hoje. O que eu gostaria de fazer é o seguinte, no momento de criar o email, que esse código pegasse a linha seguinte a linha da data, numa coluna que eu determinar. o código é o seguinte: Private Sub Workbook_Open() Const tempo As Integer = 3 'a caixa de mensagem será exibida durante 3 seg Dim rsp As Integer Dim QuestionToMessageBox As String Dim OutApp As Object Dim OutMail As Object Dim texto As String Dim titulo As String Dim frsData As String, rngData As Range, c As Long Dim linha As Long, msg As Long Dim lRow As Long Set OutApp = CreateObject("Outlook.Application") With Sheets("Estimadores") 'Obtém última linha e soma 1: lRow = .Cells(.Rows.Count, "B").End(xlUp).Row + 1 c = 3 Do Set rngData = Sheets("Estimadores").Columns(c).Find(Date, LookIn:=xlValues) If Not rngData Is Nothing Then frsData = rngData.Address linha = rngData.Row Do If rngData.Interior.ColorIndex <> 50 Then texto = "Prezado(a) " & Sheets("Estimadores").Cells(linha, 2) & "," & vbCrLf & vbCrLf & _ "Suas duas semanas de penitência acabaram, " & Sheets("Estimadores").Cells(.Rows.Count, "B").End(xlUp).Row + 1 & _ " é o próximo(a) a ir pro curral" & vbCrLf & vbCrLf & _ "Controle de estimativas" titulo = "Controle Estimadores" Set OutMail = OutApp.CreateItem(0) With OutMail .To = Sheets("Estimadores").Cells(linha, 1).Value .CC = "" .BCC = "" .Subject = titulo .Body = texto .Send 'Utilize Send para enviar o email sem abrir o Outlook End With msg = msg + 1 rngData.Interior.ColorIndex = 50 End If Set rngData = Sheets("Estimadores").Columns(c).FindNext(rngData) linha = rngData.Row Loop While Not rngData Is Nothing And rngData.Address <> frsData End If c = c + 2 Loop While c < 3 rsp = CreateObject("WScript.Shell").PopUp( _ "enviadas " & msg & " mensagens" & vbLf & vbLf & _ "Deseja inserir dados no Controle de mapas?", tempo, _ "R E S P O N D A", 4 + 32) If rsp = 6 Then 'se a resposta for "Sim" MsgBox "Planilha Liberada" Else: ' se a resposta for "Não" ou se não houver resposta ActiveWorkbook.Save ThisWorkbook.Close Application.Quit End If End With End Sub Poderiam me ajudar? Caso não tenha sido muito claro, me informem... Consegui...rs Só coloquei a seguinte linha: "Suas duas semanas de penitência acabaram, " & Sheets("Estimadores").Cells(linha + 1, 2) & _ Obrigado galera!
  2. Fala Zinho, Como estou no trabalho agora não consigo upar a planilha, porém o código é esse: Sub Send_Range() Dim texto As String Dim titulo As String Dim remetente As String 'Seleciona todas imagens presentes na pasta de trabalho selecionada 'Worksheets("Disparo de Indicadores").ChartObjects(1).Chart.CopyPicture Appearance:=xlScreen, Size:=xlScreen, Format:=xlPicture 'Seleciona o Range definido e copia para o corpo do email Worksheets("Disparo de Indicadores").Range("A1:G36").CopyPicture Appearance:=xlScreen, Format:=xlPicture ActiveWorkbook.EnvelopeVisible = True If Sheets("Capa").Cells(15, 4).Value = "Transacional" Then remetente = Sheets("Capa").Cells(16, 4) & ";" & Sheets("Guia de Uso").Cells(19, 6) & ";" & Sheets("Guia de Uso").Cells(19, 8) Else: remetente = Sheets("Capa").Cells(16, 4) & ";" & Sheets("Guia de Uso").Cells(20, 6) & ";" & Sheets("Guia de Uso").Cells(20, 8) End If titulo = "Report CUP Solicitação " & "[" & Sheets("Capa").Cells(14, 4) & "]" texto = "Prezados, " & vbCrLf & vbCrLf & _ "Realizamos o controle de uso de processo para a demanda - " & "[" & Sheets("Capa").Cells(14, 4) & "]" & vbCrLf & _ " e informamos abaixo os resultados coletados:" With ActiveSheet.MailEnvelope .Introduction = texto .Item.To = remetente .Item.Subject = titulo .Item.Send End With End Sub Caso não ajude muito, hj a noite posto a planilha... Abs,
  3. Existe uma forma de fazer isso validando se a TD ta vazia com vba? abs,
  4. Fala Zinho, tudo bem? Então, de certa forma funcionou...porém, quando aumento a quantidade de vezes do for (coloquei 31 que é o número de campos que a tabela tem) a pivot é ocultada porém fica com aquela imagem de pivot sem campos selecionados, sabe? Existe alguma forma de evitar isso? Abs,
  5. Fala galera, beleza? Bom, como o próprio título diz, eu gostaria de saber se existe alguma forma de fazer com que a minha tabela dinâmica fique oculta quando não tiver nenhum valor pra ser exibido... Provavelmente isso possa ser feito por VBA, pesquisei bastante, mas não encontrei nada que pudesse me ajudar... Conto com a ajuda de vocês! Abs,

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