Excel 2010 sending row of data in individual emails

danahoffman

New Member
Joined
Mar 15, 2014
Messages
24
Have looked at all VBA code I can find, and each one fails when I hit F5 to send.

Have spreadsheet of 300+ rows for 300+ individuals per row.

Want to send email to email address in row and include their information in Column C-J in the body of the email.
Using Outlook 2010.

This is my 1st experience with trying to send VBA Macro data from Excel so your patience and simplistic responses are greatly appreciated.

dana hoffman
Colorado Emergency Preparedness Partnership
Denver, CO
303-863-9600
 

Excel Facts

Control Word Wrap
Press Alt+Enter to move to a new row in a cell. Lets you control where the words wrap.
I guess there are macros to send emails from outlook, if you can lay hold of one, we cant weak it to do what you want
 
Upvote 0
Momenyman, Apologize for the delay. Had to figure out how to get the exam0les afailable by hyperlink.
http://www.investigationsdenver.com/files/2014-03-15email2.xlsx
http://http://www.investigationsdenver.com/files/Excelcodeexampletomodify.pdf
http://www.investigationsdenver.com/files/RonDebrunoSendExcelcode.pdf

Above is a 3 line sample Excel Spreadsheet and then 2 different codes that partially worked about 5 days ago and do not work now. Goal is: Send email to each email address (1 per Row) and include in the body of the email that is sent automatic lly. In the actual email I have 315 rows where I need to send members their data which id sll in yhr same row so they can review their emergency contact data.
Thanks much in advance.
dana 393-3863-9600
dana@investigationsdenver.com
 
Upvote 0
What line is highlighted when the error comes up?
 
Upvote 0
When trying to run the Ron De bruno code the 1st error highlighted is:
[ ERROR GoTo Cleanup] Gives Compile error Invalid Outside Procedure

However if that is resolved another expression seems to prohibit the running of the code.
Thanks again.
dana
 
Upvote 0
I just ran this code on the sample you provided, and even though i dont have a valid email account with outlook, it still opened outlook with mails for the 3 recipients

Code:
Sub Send_Row_Or_Rows_Attachment_2()
    'Working in 2000-2013
    'For Tips see: http://www.rondebruin.nl/win/winmail/Outlook/tips.htm
     Dim OutApp As Object
     Dim OutMail As Object
     Dim rng As Range
     Dim Ash As Worksheet
     Dim Cws As Worksheet
     Dim Rcount As Long
     Dim Rnum As Long
     Dim FilterRange As Range
     Dim FieldNum As Integer
     Dim NewWB As Workbook
     Dim TempFilePath As String
     Dim TempFileName As String
     Dim FileExtStr As String
     Dim FileFormatNum As Long
     
     On Error GoTo cleanup
     Set OutApp = CreateObject("Outlook.Application")
     
     With Application
     .EnableEvents = False
     .ScreenUpdating = False
     End With
     
     'Set filter sheet, you can also use Sheets("MySheet")
     Set Ash = ActiveSheet
     
     'Set filter range and filter column (column with e-mail addresses)
     Set FilterRange = Ash.Range("A1:H" & Ash.Rows.Count)
     FieldNum = 2 'Filter column = B because the filter range start in column A
     
     'Add a worksheet for the unique list and copy the unique list in A1
     Set Cws = Worksheets.Add
     FilterRange.Columns(FieldNum).AdvancedFilter _
     Action:=xlFilterCopy, _
     CopyToRange:=Cws.Range("A1"), _
     CriteriaRange:="", Unique:=True
     
     'Count of the unique values + the header cell
     Rcount = Application.WorksheetFunction.CountA(Cws.Columns(1))
     
     'If there are unique values start the loop
     If Rcount >= 2 Then
     For Rnum = 2 To Rcount
     
     'If the unique value is a mail addres create a mail
     If Cws.Cells(Rnum, 1).Value Like "?*@?*.?*" Then
     
     'Filter the FilterRange on the FieldNum column
     FilterRange.AutoFilter Field:=FieldNum, _
     Criteria1:=Cws.Cells(Rnum, 1).Value
     
     'Copy the visible data in a new workbook
     With Ash.AutoFilter.Range
     On Error Resume Next
     Set rng = .SpecialCells(xlCellTypeVisible)
     On Error GoTo 0
     End With
     
     Set NewWB = Workbooks.Add(xlWBATWorksheet)
     
     rng.Copy
     With NewWB.Sheets(1)
     .Cells(1).PasteSpecial Paste:=8
     .Cells(1).PasteSpecial Paste:=xlPasteValues
     .Cells(1).PasteSpecial Paste:=xlPasteFormats
     .Cells(1).Select
     Application.CutCopyMode = False
     End With
     'Create a file name
     TempFilePath = Environ$("temp") & "\"
     TempFileName = "Your data of " & Ash.Parent.Name _
     & " " & Format(Now, "dd-mmm-yy h-mm-ss")
     
     If Val(Application.Version) < 12 Then
     'You use Excel 97-2003
     FileExtStr = ".xls": FileFormatNum = -4143
     Else
     'You use Excel 2007-2013
     FileExtStr = ".xlsx": FileFormatNum = 51
     End If
     
     'Save, Mail, Close and Delete the file
     Set OutMail = OutApp.CreateItem(0)
     
     With NewWB
     .SaveAs TempFilePath & TempFileName _
     & FileExtStr, FileFormat:=FileFormatNum
     On Error Resume Next
     With OutMail
     .To = Cws.Cells(Rnum, 1).Value
     .Subject = "Test mail"
     .Attachments.Add NewWB.FullName
     .Body = "Hi there"
     .Display 'Or use Send
     End With
     On Error GoTo 0
     .Close savechanges:=False
     End With
     
     Set OutMail = Nothing
     Kill TempFilePath & TempFileName & FileExtStr
     End If
     
     'Close AutoFilter
     Ash.AutoFilterMode = False
     
     Next Rnum
     End If
     
cleanup:
     Set OutApp = Nothing
     Application.DisplayAlerts = False
     Cws.Delete
     Application.DisplayAlerts = True
     
     With Application
     .EnableEvents = True
     .ScreenUpdating = True
     End With
End Sub

No error messages
 
Upvote 0
Monteman,
Thanks for the reply. I opened the example entered the code you provided
1. GOOD News, there were no error messages
However when i hit F5 to send nothing happened and I received no emails.

Would you be kind enough to run the code and send me the e emails.
Dana
 
Upvote 0
Momentman.
Could my settings in Excel 2010 seed something added? Running windows 7. Over the last weej of trying numberous examplea of code some said to make changes to excel. However prior to posting to this forum, I reset my computer to an earlier time so changes I made to excel settings would not be an issue.
dana
 
Upvote 0
Thanks. When u looked at the excel file was it JUST the record on 1 email address or the compiled records of all 3 email addresses??
Presume that you got an attachment for ONLY the line of the email, I could use that as a 2nd choice. Many of our members are USNORTHCOM, State and Federal government who restrict attachments that's who I would like to send Column C-J in body of email.

Any thoughts about what I do now. Is their an outlook setting I've missed or an excel setting?
dana
 
Upvote 0

Forum statistics

Threads
1,214,971
Messages
6,122,517
Members
449,088
Latest member
RandomExceller01

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top