Ir ao conteúdo
  • Cadastre-se

Augusto César LMP

Membro Júnior
  • Posts

    11
  • Cadastrado em

  • Última visita

posts postados por Augusto César LMP

  1. @Edson Luiz Branco O seu código funcionou para esta planilha, mas no trabalho me deparei com a seguinte situação:
    "se modificar as colunas 15, 20, 21 ou 23, tem que registrar a hora da 22. Se todas estiverem vazias, a 22 fica vazia"

    Tentei alterar o me.range, mas não deu certo.

    adicionado 17 minutos depois
    17 minutos atrás, Augusto César LMP disse:

    @Edson Luiz Branco O seu código funcionou para esta planilha, mas no trabalho me deparei com a seguinte situação:
    "se modificar as colunas 15, 20, 21 ou 23, tem que registrar a hora da 22. Se todas estiverem vazias, a 22 fica vazia"

    Tentei alterar o me.range, mas não deu certo.

    Consegui! Valeeeeu

  2. Boa tarde, tudo bem?

    Minha situação é a seguinte: tenho a planilha abaixo. Quero que quando alguém alterar uma das colunas 1, 3, 4 ou 5 (A, C, D, e E), a coluna 10 (J) preencha a data e horário da atualização (= NOW). Contudo, também quero que caso essas quatro colunas estejam em branco (As quatro em branco, não apenas uma delas), a coluna 10 também fique em branco. Não estou conseguindo colocar essas condicionais. Segue a planilha (apenas um exemplo, não é a que vou usar de fato) e o código:

    image.png.e8fe1fbca0bc9c0b693259187f494a77.png

     

    Código:

    Private Sub Worksheet_Change(ByVal Target As Range)
    
        If Target.Column = 1 Then Cells(Target.Row, 10) = Now
        If Target.Column = 3 Then Cells(Target.Row, 10) = Now
        If Target.Column = 4 Then Cells(Target.Row, 10) = Now
        If Target.Column = 5 Then Cells(Target.Row, 10) = Now
        
    If Target.Value = "" Then
        Cells(Target.Row, 10) = ""
        End If
        End Sub


     

    adicionado 25 minutos depois

    Não sei se fui claro, mas:
    Se todas as colunas especificadas estiverem em branco, quero que a coluna 10 fique em branco.

    Se alguma das colunas especificadas forem alteradas, quero que a coluna 10 faça = NOW

    Se caso alguém altere uma das colunas especificadas, erroneamente, perceba, e apague, voltando à primeira condicional, quero que a coluna 10 volte a ficar em branco

  3. Estou tentando atribuir um macro a um botão, mas aparece a seguinte mensagem: Esta fórmula é muito complexa para ser atribuída a um objeto. Como conserto isso? O código é o seguinte:


     

    Sub auto()
    
        Range("a1048576").Select
        ActiveCell.End(xlUp).Select
        ActiveCell.Offset(1, 0).Select
        ActiveCell.Value = InputBox("Inserir nome do agrônomo/terceiro (sem acento)")
        
        Range("c1048576").Select
        ActiveCell.End(xlUp).Select
        ActiveCell.Offset(1, 0).Select
        ActiveCell.Value = InputBox("Inserir número da nota fiscal")
        
        Range("f1048576").Select
        ActiveCell.End(xlUp).Select
        ActiveCell.Offset(1, 0).Select
        ActiveCell.Value = InputBox("Inserir data de envio de amostras (dd/mm/aaaa)")
        
        MsgBox "Caso existam mais destinatários, clique no botão ADICIONAR INFO. Caso queira mandar os emails, clique no botão MANDAR EMAILS.", vbInformation
          
    
    End Sub
    
    

     

  4. Bom, o que eu faria:
    Um ProcV na planilha 2, para procurar valores iguais da planilha 1, e colocaria uma formatação condicional na coluna A da planilha 2, para colorir caso o valor seja o mesmo do procv. Anexei um arquivo com algo bem simples para ilustrar para você. E eu ainda ocultaria a coluna do Procv pra ter menos informação na tela.

    Se tiver dúvidas sobre o procv, avisa que tento sanar.

     

    Teste.xlsx

    • Curtir 1
  5. Bom dia!
    Estou com uma dúvida: Utilizei um código VBA de macro para enviar emails automaticamente. Ele funciona perfeitamente, contudo, quando ele encontra uma célula em branco, ele aparece uma mensagem de erro (que não altera em nada meu trabalho, mas queria resolver isso). Eu gostaria que, quando ele encontrasse uma célula em branco (entre A2 e A23, intervalo que nomeei como IntervaloMailing), ele parasse o macro, pois, as vezes, tenho apenas 3 emails para mandar (ou seja, a A5 já seria uma célula em branco. Segue o código:

     

    Public WrkB                As Workbook                      'Cria variavel da Pasta de Trabalho
    Public WrkS                As Worksheet                     'Cria variavel da Planilha

    Public IntervaloMailing    As Range                         'Cria Variavel com o Intervalo do Mailing
    Public Celula              As Range                         'Cria Variavel com o registro do Mailing


    Public AppOutk As Outlook.Application                        'Cria Variavel com a Aplicacao do Outlook
    Public MailOutk As Outlook.MailItem                          'Cria Variavel com o objeto "Email" do Outlook

    Public Sub MandarEmail()

    Set WrkB = ThisWorkbook                                      'Define a pasta de Trabalho
    Set WrkS = WrkB.Sheets("Mailing")                            'Define a Planilha com os dados

    Set IntervaloMailing = WrkS.Range("TabelaMailing")           'Define qual o intervalo do Mailing

    With WrkS
        .Select
            For Each Celula In IntervaloMailing
                Call CriaEmail 'Chama a Rotina para Criar o Email
                     
            Next
            
    End With
    End Sub

    Sub CriaEmail()

    Set AppOutk = New Outlook.Application                          'Define a aplicação do Outlook
    Set MailOutk = AppOutk.CreateItem(olMailItem)                  'Define o objeto "Email" da Aplicação Outlook

    With MailOutk
        .Display
        .To = WrkS.Cells(Celula.Row, 7).Value                   'Coluna Para
        .CC = ""                   'Coluna Com Cópia
        .BCC = ""                  'Coluna Copia Oculta
        .Subject = "Envio de amostras"            'Coluna Assunto
        .Body = WrkS.Cells(Celula.Row, 10).Value                 'Coluna Corpo do Email
        .Attachments.Add WrkS.Cells(Celula.Row, 5).Value        'Coluna Anexo
    End With

    Set MailOutk = Nothing                                          'Esvazia a variavel
    Set AppOutk = Nothing                                           'Esvazia a variavel

    End Sub

     

    adicionado 0 minutos depois

    A mensagem de erro que aparece é esta:
     

    image.png

  6. Bom dia!

    Estou com uma dúvida:
    Criei uma planilha para mandar emails automaticamente, com macro VBA que encontrei na internet. Para ficar show de bola, gostaria que o macro também anexasse no email automaticamente. São anexos diferentes para cada pessoa, e os arquivos terão o mesmo nome de células específicas, como B2, B3, B4, etc...
    Na imagem mostro o que tenho na minha planilha: nome do agrônomo, Número da nota fiscal, Data de envio, Email e mensagem gerada automaticamente com os dados anteriores. Todos os dados são fictíficos. Na parte inferior encontra-se o botão do macro que envia o email automaticamente. Gostaria de apertar e ele mandar o email gerado automaticamente (coluna E) e anexasse os arquivos com mesmo nome da coluna B.

    HELP!

    image.thumb.png.8bf4f079cb2b3d3e5a04b689c46e9dfe.png

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!