Eric Penfold
Active Member
- Joined
- Nov 19, 2021
- Messages
- 431
- Office Version
- 365
- Platform
- Windows
- Mobile
For some reason my VLookup line does not work.
VBA Code:
For i = 1 To LRow
strStaffEmails = Application.WorksheetFunction.VLookup(CLng(Me.Staff_Names), pws.Range("Lookup"), 2, 0)
Next i
VBA Code:
Private Sub POEmailStaff()
Dim wb As Workbook
Dim ws As Worksheet
Dim pwb As Workbook
Dim pws As Worksheet
Dim LRow As Long
Dim Rng As Range
Dim strTable As String
Dim strStaffEmails As String
Dim FormatRuleInput As String
Dim Result As String
Dim i As Integer
Dim intNumRows As Integer
Dim intRow As Integer
Dim EmailApp As Object
Dim EmailItem As Object
Dim xMailbody As Object
Set wb = ActiveWorkbook
Set ws = wb.Sheets("Sheet")
Set pwb = Workbooks("MyPersonal.xlsb")
Set pws = pwb.Sheets("Contacts")
LRow = Cells(Rows.Count, 1).End(xlUp).Row
On Error Resume Next
Set Rng = Application.InputBox( _
Title:="EmailRange", _
Prompt:="Select Range to Email", _
Type:=8)
If Rng Is Nothing Then Exit Sub
On Error GoTo 0
On Error Resume Next
intNumRows = Rng.Rows.Count
strTable = "<table border=1>"
strTable = strTable & "<tr>"
strTable = strTable & "<th>Entered By</th><th>Supplier Code</th><th>Supplier Name</th><th>Branch</th><th>Due Date</th><th>Notes</th><th>Net Amount</th></tr>"
For intRow = 1 To intNumRows
strTable = strTable & "<tr>"
strTable = strTable & "<td>" & Rng(intRow, 1).Value & "</td>"
strTable = strTable & "<td>" & Rng(intRow, 2).Value & "</td>"
strTable = strTable & "<td>" & Rng(intRow, 3).Value & "</td>"
strTable = strTable & "<td>" & Rng(intRow, 4).Value & "</td>"
strTable = strTable & "<td>" & Rng(intRow, 5).Value & "</td>"
strTable = strTable & "<td>" & Rng(intRow, 6).Value & "</td>"
strTable = strTable & "<td>" & Rng(intRow, 7).Value & "</td>"
strTable = strTable & "<td>" & Rng(intRow, 8).Value & "</td>"
strTable = strTable & "<td>" & Rng(intRow, 9).Value & "</td>"
strTable = strTable & "<td>" & Rng(intRow, 10).Value & "</td>"
strTable = strTable & "<td>" & Rng(intRow, 11).Value & "</td>"
strTable = strTable & "<td>" & Rng(intRow, 12).Value & "</td>"
strTable = strTable & "<td>" & Rng(intRow, 13).Value & "</td>"
strTable = strTable & "<td>" & Rng(intRow, 14).Value & "</td>"
strTable = strTable & "<td>" & Rng(intRow, 15).Value & "</td>"
strTable = strTable & "<td>" & Rng(intRow, 16).Value & "</td>"
strTable = strTable & "<td>" & Rng(intRow, 17).Value & "</td>"
strTable = strTable & "<td>" & Rng(intRow, 18).Value & "</td>"
strTable = strTable & "<td>" & Rng(intRow, 19).Value & "</td>"
strTable = strTable & "<td>" & Rng(intRow, 20).Value & "</td>"
strTable = strTable & "<td>" & Rng(intRow, 21).Value & "</td>"
strTable = strTable & "<td>" & Rng(intRow, 22).Value & "</td>"
strTable = strTable & "<td>" & Rng(intRow, 23).Value & "</td>"
strTable = strTable & "<td>" & Rng(intRow, 24).Value & "</td>"
strTable = strTable & "<td>" & Rng(intRow, 25).Value & "</td>"
strTable = strTable & "<td>" & Rng(intRow, 26).Value & "</td>"
strTable = strTable & "<td>" & Rng(intRow, 27).Value & "</td>"
strTable = strTable & "<td>" & Rng(intRow, 28).Value & "</td>"
strTable = strTable & "<td>" & Rng(intRow, 29).Value & "</td>"
strTable = strTable & "<td>" & Rng(intRow, 30).Value & "</td>"
strTable = strTable & "<td>" & Rng(intRow, 31).Value & "</td>"
strTable = strTable & "<td>" & Rng(intRow, 32).Value & "</td>"
strTable = strTable & "<td>" & Rng(intRow, 33).Value & "</td>"
strTable = strTable & "<td>" & Rng(intRow, 34).Value & "</td>"
strTable = strTable & "<td>" & Rng(intRow, 35).Value & "</td>"
strTable = strTable & "<td>" & Rng(intRow, 36).Value & "</td>"
strTable = strTable & "<td>" & Rng(intRow, 37).Value & "</td>"
strTable = strTable & "<td>" & Rng(intRow, 38).Value & "</td>"
strTable = strTable & "<td>" & Rng(intRow, 39).Value & "</td>"
strTable = strTable & "<td>" & Rng(intRow, 40).Value & "</td>"
strTable = strTable & "<tr>"
Next
strTable = strTable & "</table>"
For i = 1 To LRow
strStaffEmails = Application.WorksheetFunction.VLookup(CLng(Me.Staff_Names), pws.Range("Lookup"), 2, 0)
Next i
Select Case Time
Case Is < TimeValue("12:00:00")
xMailbody = "Good Morning"
Case Is < TimeValue("17:00:00")
xMailbody = "Good Afternoon"
End Select
With EmailItem
Result = strStaffEmails
Select Case Result
Case Is = "NJ"
.To = strStaffEmails
.BCC = "Purchase@drainfast.co.uk"
.Subject = "OverHeadsReport"
.HTMLBody = xMailbody & "," & " <p> Can you confirm these in if we have received it?" _
& "<br><br> Or move the due date if not accurate</p> " & "<p>" & strTable & "</p>" & _
"<br><br>Kind Regards,"
EmailItem.Display
Exit Sub
Case Is = "TJ"
.To = strStaffEmails
.BCC = ""
.Subject = "Purchase@drainfast.co.uk"
.HTMLBody = xMailbody & "," & " <p> Can you have a look and update/supply </p> " & "<p>" & strTable & "</p>" & _
"<br><br>Kind Regards,"
EmailItem.Display
Exit Sub
Case Is = "TB"
.To = strStaffEmails
.BCC = ""
.Subject = "Purchase@drainfast.co.uk"
.HTMLBody = xMailbody & "," & " <p> Can you have a look at these Pos and update the due date/supply as needed. Thank you </p> " & "<p>" & strTable & "</p>" & _
"<br><br>Kind Regards,"
EmailItem.Display
Exit Sub
Case Is = "PMc"
.To = strStaffEmails
.BCC = ""
.Subject = "Purchase@drainfast.co.uk"
.HTMLBody = xMailbody & "," & " <p> Can you have a look at these POs and update/supply if necessary. thanks</p> " & "<p>" & strTable & "</p>" & _
"<br><br>Kind Regards,"
EmailItem.Display
Exit Sub
Case Is = "TB"
.To = strStaffEmails
.BCC = ""
.Subject = "Purchase@drainfast.co.uk"
.HTMLBody = xMailbody & "," & " <p> Can you have a look at these Pos and update the due date/supply as needed. Thank you</p> " & "<p>" & strTable & "</p>" & _
"<br><br>Kind Regards,"
EmailItem.Display
Exit Sub
Case Is = "LJK"
.To = strStaffEmails
.BCC = ""
.Subject = "Purchase@drainfast.co.uk"
.HTMLBody = xMailbody & "," & " <p> Can you have a look at these Pos and update the due date/supply as needed. Thank you</p> " & "<p>" & strTable & "</p>" & _
"<br><br>Kind Regards,"
EmailItem.Display
Exit Sub
Case Is = "JH"
.To = strStaffEmails
.BCC = ""
.Subject = "Purchase@drainfast.co.uk"
.HTMLBody = xMailbody & "," & " <p> Can you have a look and update/supply these Pos</p> " & "<p>" & strTable & "</p>" & _
"<br><br>Kind Regards,"
EmailItem.Display
Exit Sub
End Select
End With
End Sub