Hi,
ich möchte gerne aus einer Liste (s. unten) mehrere E-Mails generieren. Ich habe den Code schon soweit geschrieben, dass ich die E-Mails generiere und versenden kann. Ich möchte nun aber den Code optimieren, indem die Informationen (KPI und Entity) für einen User gesammelt werden und in einer E-Mail ausgegeben wird.
Habe in diesem Fall an einen Array gedacht, habe aber in dieser Hinsicht keine Erfahrung damit.
Vielen Dank schonmal!
Hier der bisherige Code:
Private Sub CommandButton2_Click()
Dim objOutlook As Object
Dim objMail As Object
Dim runvar As Integer
runvar = 7
Worksheets("Admin").Sort.SortFields.Clear
Worksheets("Admin").Sort.SortFields.Add Key:=Range("B7"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With Worksheets("Admin").Sort
.SetRange Range("A7:E60")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Do While Worksheets("Admin").Cells(runvar, 4) <> ""
Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(0)
With objMail
.To = Worksheets("Admin").Cells(runvar, 4)
.Subject = "Test"
.Body = "Hi " & WorksheetFunction.VLookup(Worksheets("Admin").Cells(runvar, 2), Worksheets("User").Range("A2:C50"), 3, False) & "," & vbCr & vbCr & "Please, enter the following KPIs into the platform:" & vbCr & vbCr & Worksheets("Admin").Cells(runvar, 1) & vbCr & vbCr & "Thank you!" & vbCr & vbCr & "Best regards" & vbCr & vbCr & "Mr. Z"
.send 'Erstellt die Email und öffnet diese. Der Versand erfolgt anschließend automatisch!
End With
runvar = runvar + 1
Loop
End Sub
|