Risolto Da checkbox a invio mail

t-tan89

Nuovo utente
9 Maggio 2020
6
1
2019
0
Buongiorno a tutti,

Premessa doverosa: non ho mai utilizzato excel più del dovuto, ho iniziato a frequentare i corsi base che sono presenti in questo forum e sto cercando di capirne qualcosa. Detto questo...

avrei bisogno del vostro aiuto. Vorrei creare una macro in grado di collegare le selezioni all'interno delle checkbox con un comando che se cliccato mandi una determinata mail ad un indirizzo. Mi spiego meglio.

Il file che vi allego presenta delle checkbox (A 2-5) , ognuna di esse si riferisce ad un materiale in inventario (B 2-5). Inoltre è presente un pulsante (F 4) che se cliccabile vorrei potesse mandare una mail ad un indirizzo.

Cosa vorrei fare: selezionare i vari materiali, spuntando le relative checkbox e, una volta cliccato sul pulsante in F4 mi si generasse una mail all'indirizzo "prova@prova.it" con oggetto " Materiale a scorta xx (dove al posto di xx vorrei ci fosse il contenuto del nome delle checkbox selezionate") mancante, vi prego di ordinare" e come corpo del messaggio mail "grazie".

Grazie a chiunque mi risponderà anche solo con dei consigli

Un saluto

T
 

Allegati

ges

Excel/VBA Expert
Amministratore
Expert
21 Giugno 2015
26.858
1.865
Como
2011MAC 2016WIN
672
Ciao,
dai un'occhiata qui ci sono tutte le istruzioni per inviare mail con excel e inserire messaggi allegando anche files se serve
 
  • Like
Reactions: t-tan89

t-tan89

Nuovo utente
9 Maggio 2020
6
1
2019
0
Ciao ges,
grazie per la risposta in tempi rapidissimi.

Ho bisogno di capire come effettuare questa parte del codice:
"selezionare i vari materiali, spuntando le relative checkbox e, una volta cliccato sul pulsante in F4 mi si generasse una mail all'indirizzo "prova@prova.it" con oggetto " Materiale a scorta xx (dove al posto di xx vorrei ci fosse il contenuto del nome delle checkbox selezionate")"
Le guide che mi hai linkato sono molto utili. Avrei però bisogno di capire quali tipologie di istruzioni inserire per rendere il comando funzionale alle mie esigenze

Ti ringrazio
 

Marco Lauria

Utente abituale
2 Gennaio 2017
774
45
Roma
www.artigianamaterassi.net
Excel 2016
72
Prova questa macro per selezionare i prodotti:

Visual Basic:
Option Explicit

Sub Invio_Mail()
    Dim i As Integer
    Dim ws As Worksheet
    Dim MatriceProdotti(1 To 5)
    
    Set ws = Worksheets("Foglio1")
    For i = 2 To 5                                                    'Con un ciclo
        If ws.OLEObjects("CheckBox" & i - 1).Object.Value = True Then 'Verifico se le caselle sono spuntate
            MatriceProdotti(i - 1) = ws.Cells(i, 2)                   'In caso positivo carico nella matrice il materiale da ordinare
        End If
    Next i
    'Alla fine avrai questa matrice: MatriceProdotti, solo con i prodotti da ordinare
    'Qui ci saranno le istruzioni per inviale la mail
End Sub
 

t-tan89

Nuovo utente
9 Maggio 2020
6
1
2019
0
Grazie Marco,

provo a farci un file anche se, essendo un utente base, non credo ci caverò un ragno dal buco. In ogni caso mi riservo di chiedervi ancora una mano

Saluti
 

Marco Lauria

Utente abituale
2 Gennaio 2017
774
45
Roma
www.artigianamaterassi.net
Excel 2016
72
Prova una cosa del genere:

Visual Basic:
Private Sub CommandButton1_Click()
    Dim i As Integer
    Dim Soggetto As String
    Dim ws As Worksheet
    Dim OutApp As Object
    Dim OutMail As Object

    Application.ScreenUpdating = False
    Set ws = Worksheets("Foglio1")
    For i = 2 To 5
        If ws.OLEObjects("CheckBox" & i - 1).Object.Value = True Then
            Soggetto = Soggetto & " " & ws.Cells(i, 2).Value
        End If
    Next i
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
        With OutMail
            .To = "prova@prova.it"
            .CC = ""
            .BCC = ""
            .Subject = "Materiale a scorta " & Soggetto & " mancante, vi prego di ordinare"
            .Body = "Grazie"
            .display 'Rindirizza ad Outlook
            '.Send   'Invia direttamente
        End With
        Set OutMail = Nothing
    Set OutApp = Nothing
    Application.ScreenUpdating = True
End Sub
 
  • Like
Reactions: t-tan89

t-tan89

Nuovo utente
9 Maggio 2020
6
1
2019
0
Ciao Marco,

è proprio quello che cercavo. Se non ti dispiace parto da queste istruzioni che mi hai mandato per adattarle ai miei contenuti.
Ti ringrazio per l'aiuto

Saluti Saluto_saluto
 

Sostieni ForumExcel

Aiutaci a sostenere le spese e a mantenere online la community attraverso una libera donazione!