Condividi:        

problema con MACRO excel

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

problema con MACRO excel

Postdi canottiere » 21/02/18 16:17

Ciao a tutti,

ho creato una macro che mi permetta di mandare automaticamente le mail quando il certificato medico dei miei atleti è in scadenza. Continua a dire: errore run-time 13.

Questa è la parte che non funziona.
Codice: Seleziona tutto
 If Cells(i, 9) - Int(Now) < myScad And (Int(Now) - Cells(i, DataCol)) > Franc Then


Ho forse sbagliato qualcosa?

premetto che nome e cognome sono situati D4 e C4, mentre le mail degli atleti in T4, la data di scadenza dei certificati in I4

Grazie a chiunque vorrà aiutarmi.


Codice: Seleziona tutto
Sub Inviomailscadenza ()
'Dichiarazioni iniziali:
Dim OutApp As Object, OutMail As Object
Dim EmailAddr As String, Subj As String, DataCol As String, Franc As Long
Dim BDT As String, Nominat As String, mCnt As Long, myScad As Long
'  (a)
DataCol = "U"                           
myScad = 30                           
Franc = 10                             
'
Set OutApp = CreateObject("Outlook.Application")
''compilazione di un testo standard di accompagnamento:
BDT = "Buongiorno, con la presente siamo ad informarla che fra 30 giorni il certificato medico di suo/a figlio/a scadrà, si prega di provvedere subito al suo rinnovo."       '<<< Testo fisso a piacere
BDT = BDT & vbNewLine & "Cordiali saluti" & vbNewLine                 
BDT = BDT & "La Segreteria"                                           
''  (b)
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
    If Cells(i, 9) - Int(Now) < myScad And (Int(Now) - Cells(i, DataCol)) > Franc Then
        Nominat = Cells(i, 4) & " " & Cells(i, 3)                               'Nome Cognome
        EmailAddr = Cells(i, 20)                                                 'INDIRIZZO EMAIL
        Subj = "Scadenza certificato medico; sig " & Nominat & Format(Cells(i, 9), " dd-mm-yyyy") 'Subj
        '
        Set OutMail = OutApp.CreateItem(0)     
        With OutMail
            .To = EmailAddr
            .CC = "info@esperia-torino.it"                                     
            .BCC = ""
            .Subject = Subj
            .Body = BDT
'            .Display 'oppure .send
            .Send
        End With
        ''  (c)
        Application.Wait (Now + TimeValue("0:00:01"))
        Set OutMail = Nothing
        mCnt = mCnt + 1
        Cells(i, DataCol) = Int(Now)
    End If
Next i
'
''  (d)
Set OutApp = Nothing
'
Application.Wait (Now + TimeValue("0:00:01"))
If mCnt > 0 Then
    MsgBox ("Inviate N. " & mCnt & " mail per prossima scadenza")
Else
    MsgBox ("Nessuna scadenza da sollecitare")
End If
'
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

End Sub
canottiere
Newbie
 
Post: 1
Iscritto il: 21/02/18 16:06

Sponsor
 

Re: problema con MACRO excel

Postdi Anthony47 » 22/02/18 00:46

La macro e' stata pubblicata qui: viewtopic.php?f=26&t=105254#p639616 (in quella versione che citi).
Leggi quella discussione per capire se tutti i prerequisiti sono stati rispettati.

Comunque quell'errore indica che uno dei termini dell'istruzione non sono del "genere" atteso:
-una vera data in colonna I, una vera data in colonna U (gli altri termini dovrebbero essere corretti, se il codice in uso e' quello pubblicato).
(per verificare se c'e' "una vera data", formatta la cella come Numero: dovresti visualzzare un numero, ad esempio 43153 per la data 22-feb-2018)

Se con queste informazioni non ne vieni fuori allora e' bene che alleghi un file di test simile al tuo in uso, senza informazioni riservate.
Per le istruzioni su come allegare un file:
viewtopic.php?f=26&t=103893&p=605487#p605487

Ciao, fai sapere
Avatar utente
Anthony47
Moderatore
 
Post: 19181
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "problema con MACRO excel":


Chi c’è in linea

Visitano il forum: Nessuno e 40 ospiti