Quindi ho usato questo eccellente articolo
Come inviare automaticamente e-mail in base al valore della cella in Excel? (extendoffice. Com) e ho raccolto le risposte dalle risposte per farlo funzionare come mi serve, ma l'ultimo pezzo che non riesco a capire è come duplicare ciò che ho fatto per eseguire più celle. Ho provato a copiare/incollare e riorganizzare il codice con valori diversi come C4, C5, ecc. ma ottengo sempre errori. Ho funzionato benissimo dove se il valore in C3 è < 5 invierà un'e-mail quando la cartella di lavoro viene salvata. Quello di cui ho bisogno ora, poiché questo è per un foglio di inventario, è avere più valori di cella controllati con valori diversi . Ad esempio, se solo C3 < 5 invia un'e-mail. Se solo C4 è < 6 invia un'e-mail. Se C3 < 5, C4 è < 6 e C5 < 3 invia un'e-mail. Sarebbe bello se venisse generata una sola e-mail al salvataggio con tutti i valori che soddisfano i criteri <. In termini reali (non termini di codifica), il foglio di calcolo è un luogo in cui i tecnici possono effettuare il check-in e il ritiro degli articoli dall'archivio. Quello che sto cercando di fare è avere un'e-mail inviata automaticamente quando qualcuno salva la cartella di lavoro e il livello di inventario di un articolo è sceso al di sotto di un valore specifico, quindi so che un ordine deve essere effettuato presto. Finora questo è il mio codice:
Questa cartella di lavoro
Cartella di lavoro secondaria privata_AfterSave(ByVal Success As Boolean)
On Error Resume Next
Dim xI come intero
Dim xRg come intervallo
Imposta xRg = Intervallo ("Informazioni! C3")
xI = Int(xRg.Valore)
Se xI < 5 Allora
Chiama Mail_small_Text_Outlook
End If
End Sub
Modulo 1
Posta secondaria_small_Text_Outlook()
Dim xOutApp come oggetto
Dim xOutMail come oggetto
Dim xMailBody come stringa
Imposta xOutApp = CreateObject ("Outlook.Application")
Imposta xOutMail = xOutApp.CreateItem(0)
xMailBody = "Ciao" & vbNewLine & vbNewLine & _
"Questa è la riga 1" & vbNewLine & _
Intervallo ("Informazioni! C3") & vbNewLine & _
"Questa è la linea 2"
On Error Resume Next
Con xOutMail
.To = "Indirizzo e-mail"
.CC = ""
.BCC = ""
.Subject = "invia tramite test valore cella"
.Corpo = xMailBody
.Visualizza 'o usa .Invia
Fine Con
On Error GoTo 0
Imposta xOutMail = Niente
Imposta xOutApp = Niente
End Sub