Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
#19590
Bom dia pessoal. Meu nome é Wellington e trabalho como estagiario de engenharia. Estou com uma dificuldade em resolver um problema num codigo VBA de uma planilha de ferias daqui do setor que eu trabalho.
A planilha é essa:
Imagem

45 dias antes do inicio das ferias do colaborador, precisamos solicitar a marcação de ferias no RH, logo o programa deve enviar para meu email os dados do colaborador que vai entrar de ferias como nome, data de inicio e fim das ferias.
até ai tudo bem, o programa ja ta feito. o unico problema eh que eu coloquei pra enviar o email quando a contagem dos dias zerassem e eh ai que ta o problema. a contagem é feita por uma formula no excel e não ta lendo no VBA. mas quando eu escrevo "0" na cedula, o programa funciona normal.
O programa é esse :
Código: Selecionar todos
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim OutApp As Object
    Dim OutMail As Object
    Dim texto As String

    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)

    linha = ActiveCell.Row - 1
    If Target.Address = "$G$" & linha Then

        If Plan1.Cells(linha, 7) = "0" Then
            texto = "CARO " & Plan1.Cells(linha, 1) & "," & vbCrLf & vbCrLf & _
                    "MARCAR FERIAS DE " & Plan1.Cells(linha, 3) & "," & vbCrLf & vbCrLf & _
                    "VEJA INFORMAÇÕES ABAIXO" & vbCrLf & _
                    "INICIO DAS FERIAS " & Plan1.Cells(linha, 4) & vbCrLf & _
                    "FIM DAS FERIAS " & Plan1.Cells(linha, 5) & vbCrLf & _
                    "MECHANICAL SHOP"
        End If

        With OutMail
            .To = Plan1.Cells(linha, 1)
            .CC = ""
            .BCC = ""
            .Subject = "MARCAR FERIAS"
            .Body = texto
            .Send
        End With
        On Error GoTo 0

        Set OutMail = Nothing
        Set OutApp = Nothing
    End If
End Sub



estarei enviando a planilha pra vcs verem como funciona.
alguem poderia me ajudar?
Você não está autorizado a ver ou baixar esse anexo.
#19639
O fato de ter fórmula não muda o que o VBA enxerga. Acontece que essa macro só roda quando ocorre um evento Change (Células atualizadas automaticamente não são consideradas). Segundo o seu código, a macro só vai rodar se você clicar em uma célula da coluna G e apertar o enter (Seu código exige que a célula ativa pule para a linha de baixo). Ou seja, basta você dá dois dois cliques onde está marcando zero e então apertar enter.
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord