Vai al contenuto principale
 

Come inviare automaticamente e-mail in base al valore della cella in Excel?

Autore: Silvia Ultima modifica: 2022-03-11

Supponendo di voler inviare un'e-mail tramite Outlook a un determinato destinatario in base a un valore di cella specificato in Excel. Ad esempio, quando il valore della cella D7 in un foglio di lavoro è maggiore di 200, viene creata automaticamente un'e-mail. Questo articolo introduce un metodo VBA per risolvere rapidamente questo problema.

Invia automaticamente e-mail in base al valore della cella con codice VBA


Invia automaticamente e-mail in base al valore della cella con codice VBA

Si prega di fare quanto segue per inviare un'e-mail in base al valore della cella in Excel.

1. Nel foglio di lavoro è necessario inviare e-mail in base al valore della cella (qui dice la cella D7), fare clic con il pulsante destro del mouse sulla scheda del foglio e selezionare Visualizza codice dal menu contestuale. Vedi screenshot:

2. Nel spuntare Microsoft Visual Basic, Applications Edition finestra, copia e incolla il codice VBA sottostante nella finestra del codice del foglio.

Codice VBA: invia e-mail tramite Outlook in base al valore della cella in Excel

Dim xRg As Range
'Update by Extendoffice 2018/3/7
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    If Target.Cells.Count > 1 Then Exit Sub
  Set xRg = Intersect(Range("D7"), Target)
    If xRg Is Nothing Then Exit Sub
    If IsNumeric(Target.Value) And Target.Value > 200 Then
        Call Mail_small_Text_Outlook
    End If
End Sub
Sub Mail_small_Text_Outlook()
    Dim xOutApp As Object
    Dim xOutMail As Object
    Dim xMailBody As String
    Set xOutApp = CreateObject("Outlook.Application")
    Set xOutMail = xOutApp.CreateItem(0)
    xMailBody = "Hi there" & vbNewLine & vbNewLine & _
              "This is line 1" & vbNewLine & _
              "This is line 2"
    On Error Resume Next
    With xOutMail
        .To = "Email Address"
        .CC = ""
        .BCC = ""
        .Subject = "send by cell value test"
        .Body = xMailBody
        .Display   'or use .Send
    End With
    On Error GoTo 0
    Set xOutMail = Nothing
    Set xOutApp = Nothing
End Sub

Note:

1). Nel codice VBA, D7 e valore> 200 sono la cella e il valore della cella su cui invierai l'email.
2). Si prega di modificare il corpo dell'email come necessario xMailBody riga nel codice.
3). Sostituisci l'indirizzo e-mail con l'indirizzo e-mail del destinatario in linea .To = "Indirizzo e-mail".
4). E specifica i destinatari Cc e Ccn di cui hai bisogno .CC = "" e Ccn = "" .
5). Infine, cambia l'oggetto dell'email in linea .Subject = "invia tramite test valore cella".

3. premi il altro + Q i tasti insieme per chiudere il file Microsoft Visual Basic, Applications Edition finestra.

D'ora in poi, quando il valore immesso nella cella D7 è maggiore di 200, verrà creata automaticamente un'e-mail con i destinatari e il corpo specificati in Outlook. Puoi fare clic su Invia pulsante per inviare questa email. Vedi screenshot:

Note:

1. Il codice VBA funziona solo quando si utilizza Outlook come programma di posta elettronica.

2. Se i dati inseriti nella cella D7 sono un valore di testo, verrà visualizzata anche la finestra di posta elettronica.


Invia facilmente e-mail tramite Outlook in base ai campi della mailing list creata in Excel:

La Inviare emails utilità di Kutools for Excel aiuta gli utenti a inviare e-mail tramite Outlook in base alla mailing list creata in Excel.
Scaricalo e provalo ora! (Percorso gratuito di 30 giorni)


Articoli correlati:

I migliori strumenti per la produttività in ufficio

🤖 Assistente AI di Kutools: Rivoluziona l'analisi dei dati basandosi su: Esecuzione intelligente   |  Genera codice  |  Crea formule personalizzate  |  Analizzare i dati e generare grafici  |  Richiama le funzioni di Kutools...
Funzioni popolari: Trova, evidenzia o identifica i duplicati   |  Elimina righe vuote   |  Combina colonne o celle senza perdere dati   |   Round senza formula ...
Super ricerca: VLookup a criteri multipli    VLookup a valori multipli  |   VLookup su più fogli   |   Ricerca fuzzy ....
Elenco a discesa avanzato: Crea rapidamente un elenco a discesa   |  Elenco a discesa dipendente   |  Elenco a discesa a selezione multipla ....
Gestore di colonna: Aggiungi un numero specifico di colonne  |  Sposta colonne  |  Attiva/disattiva lo stato di visibilità delle colonne nascoste  |  Confronta intervalli e colonne ...
Funzionalità in primo piano: Messa a fuoco della griglia   |  Vista di progettazione   |   Grande barra delle formule    Gestore di cartelle di lavoro e fogli   |  Resource Library (Testo automatico)   |  Date picker   |  Combina fogli di lavoro   |  Crittografa/decrittografa le celle    Invia e-mail per elenco   |  Super filtro   |   Filtro speciale (filtro grassetto/corsivo/barrato...) ...
I 15 migliori set di strumenti12 Testo Strumenti (aggiungi testo, Rimuovi personaggi, ...)   |   50+ Grafico Tipi (Diagramma di Gantt, ...)   |   40+ Pratico Formule (Calcola l'età in base al compleanno, ...)   |   19 Inserimento Strumenti (Inserisci il codice QR, Inserisci immagine dal percorso, ...)   |   12 Conversione Strumenti (Numeri in parole, Conversione di valuta, ...)   |   7 Unisci e dividi Strumenti (Combina righe avanzate, Celle divise, ...)   |   ... e altro ancora

Potenzia le tue competenze di Excel con Kutools per Excel e sperimenta l'efficienza come mai prima d'ora. Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e risparmiare tempo.  Fai clic qui per ottenere la funzionalità di cui hai più bisogno...


Office Tab porta l'interfaccia a schede in Office e semplifica notevolmente il tuo lavoro

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!