Filter colum 'F" and send the user a mail with the details

Hi,

Need to filter as per managers and mail them with the A,B,C,D,E data
With headers in a border box

Filter colum "F" find a manager mail him his subordinate details .
Related to such output
http://www.experts-exchange.com/Software/Office_Productivity/Office_Suites/MS_Office/Excel/Q_23844631.html?cid=239#a22797712
Regards
Sharath
Full-Time-Internet-Users.xls
LVL 11
bsharathAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

DaveCommented:
How this

Cheers

Dave
Option Explicit
 
 
Sub ManagerMail()
    Dim rng1 As Range, rng2 As Range, rng3 As Range
    Dim cel As Range
    Dim MyDic As Object
    Dim doit, FirstAddress As String
    Set MyDic = CreateObject("Scripting.Dictionary")
 
    Set rng1 = Sheets(1).Range([f2], Cells(ActiveSheet.Rows.Count, "f").End(xlUp)).SpecialCells(xlConstants)
    For Each cel In rng1
        Set rng3 = Nothing
        If cel.Value <> vbNullString Then
            If Not MyDic.exists(cel.Value) Then
                Set rng2 = rng1.Find(cel.Value, rng1.Cells(1), xlValues, xlWhole, xlByRows, xlPrevious)
                If Not rng2 Is Nothing Then
                    Set rng3 = Range(Cells(rng2.Row, "A"), Cells(rng2.Row, "E"))
                    FirstAddress = rng2.Address
                    Do
                        Set rng2 = rng1.FindNext(rng2)
                        Set rng3 = Union(rng3, Range(Cells(rng2.Row, "A"), Cells(rng2.Row, "E")))
                    Loop While FirstAddress <> rng2.Address
                End If
                MyDic.Add cel.Value, cel.Row
                Set doit = Mailem(cel.Value, rng3)
            Else
            End If
        End If
 
    Next
End Sub
 
 
 
Function Mailem(Recip As String, ByVal rng3 As Range)
    Dim outApp, outMail
    Dim tempStrStart As String, tempStrMid As String, tempStrFinish As String, tempStrCel As String, tempStr As String
    Dim r As Range, cel As Range
    Set outApp = CreateObject("Outlook.Application")
 
    tempStrStart = "<table border=1><tr><th>Groups</th><th>Full Name</th><th>Title</th><th>Description</th><th>Department</th></tr>"
    tempStrFinish = "</table>"
 
    For Each r In rng3.Rows
        tempStrCel = vbNullString
        For Each cel In r.Cells
            tempStrCel = tempStrCel & "<td>" & cel.Value & "</td>"
        Next
        tempStrMid = tempStrMid & tempStrCel & "</tr>"
    Next
 
    tempStr = tempStrStart & tempStrMid & tempStrFinish
    outApp.Session.Logon
    Set outMail = outApp.CreateItem(0)
    With outMail
        .To = Recip
        .Subject = "Groups"
        .htmlBody = "Hi " & Recip & ",<br>Below is the data.<br><br>" & tempStr & "<br><br>Regards<br>Sharath"
        .Recipients.ResolveAll
        .Display
    End With
    Set outMail = Nothing
    Set outApp = Nothing
End Function

Open in new window

0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
bsharathAuthor Commented:
Thanks Dave. The first mail is displayed the the first 2 rows then get an Run time error 13 error
When debug goes here
  Set doit = Mailem(cel.Value, rng3)
0
DaveCommented:
try
doit = Mailem(cel.Value, rng3)

Cheers
0
bsharathAuthor Commented:
Thank U Dave worked perfect....
0
DaveCommented:
thx for the grade
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Programming Languages-Other

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.