Sviluppare funzionalita su Microsoft Office con VBA eseguire macro su più fogli di lavoro

Login Registrati
Stai vedendo 2 articoli - dal 1 a 2 (di 2 totali)
  • Autore
    Articoli
  • #688 Score: 0
    Buonasera,
    inizio dicendo che sono digiuno di vba,  grazie ad esempi su internet  ho sviluppato una macro che vorrei funzionasse su più fogli aventi tutti la stessa strutture. Ha già al suo interno un ciclo di for, quindi nnon so come fare. Potete aiutarmi, di seguito la macro:
    Sub Invioemail55()
    '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 = "E"
    myScad = 90
    Franc = 30
    '
    Set OutApp = CreateObject("Outlook.Application")
    ''compilazione di un testo standard di accompagnamento:
    BDT = BDT & "Buongiorno, " & vbNewLine
    BDT = BDT & "si avvisa le pratiche/verifiche in oggetto risultano in scadenza:" & vbNewLine
    BDT = BDT & vbNewLine & "Cordiali saluti" & vbNewLine
    BDT = BDT & "Autoremind"
    ''  (b)
    For i = 4 To Cells(Rows.Count, 1).End(xlUp).Row
            If Cells(i, 4) - Int(Now) < myScad And (Int(Now) - Cells(i, DataCol)) > Franc Then
    Subj = "Scadenza " & Cells(i, "A") & " - " & Format(Cells(i, "D"), "dd-mmm-yyyy") & " - Plant " & ActiveSheet.Name
    '
    Set OutMail = OutApp.CreateItem(0)
    With OutMail
    .To = ""
    .CC = ""
    .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
    Allegati:
    You must be logged in to view attached files.
    #692 Score: 0

    albatros54
    Moderatore
      89 pts
      Ciao Nicola0701
      art.11 del regolamento recita:
      ....Non è educato neanche porre la stessa domanda su altri Forum esterni; questa tecnica, detta "crossposting", pur essendo generalmente tollerata, tuttavia è considerata contraria alle regole dell'educazione della rete. Così facendo rischi che nessuno impieghi il proprio tempo per dedicarti attenzione....
      dato che hai postato la stessa domanda su un altro forum
      questa discussione verra chiusa
    Login Registrati
    Stai vedendo 2 articoli - dal 1 a 2 (di 2 totali)

    La discussione ‘eseguire macro su più fogli di lavoro’ è chiusa a nuove risposte.