Sending Emails from Excel: 4 Different Ways Explained

Send Emails from Excel in 4 Different Ways
Denys Romanov Denys Romanov 12 november 2025, 13:02 2820
For beginners

So, you want to send emails from Excel. Easy enough, right? Wrong. Actually, your request can mean several totally different things depending on what you actually have on your mind. And since my thought reading device does not quite work yet, we’ll have to discuss them all, one by one.

Sometimes you just want to share the spreadsheet you’re currently editing with a colleague. Or maybe you want to make each email address in your sheet clickable, so that clicking it opens your mail app. Or perhaps you’re automating a full-on email workflow with VBA. Or running a personalized mass campaign using data from your worksheet.

Each of the above is technically “sending emails from Excel,” but they work very differently.

Before diving in, let’s a do quick summary of what we’re talking about:

Task

Complexity

Used for

Emailing your worksheet

Low

Quickly sharing a file

Mailto hyperlink

Low

Creating clickable email links

Automation with VBA scripting

Medium to high

Automated sending or batch messages

Mail merge

Medium

Personalized mass mailings

Each method has its distinct place. Let’s go through them one by one.

The Default Email Client Mystery

But before we go practical, a quick but important detour is necessary.

When you order Excel (or any other MS Office app) to “send via email” using the app’s menu, it doesn’t open Gmail or whatever mail program you normally use in your browser. Instead, it invokes your default email client – the program your operating system associates with “send email” commands.

Usually that would be Outlook, because it’s bundled with Office. But here’s the catch: even if you’ve never opened Outlook before, Windows still considers it the “default”. You try to send a file from Excel, and Outlook may suddenly appear out of nowhere, demanding setup details you’ve never entered (and maybe do not even know).

Why? Because “default” doesn’t mean “preferred”. It means “registered in the system for handling mailto: links and MAPI calls”.

If you use Gmail, Yahoo, or another web-based mail client, you can:

  • set a different default handler (for example, Mailbird or Thunderbird), or

  • install a browser extension that lets webmail handle mailto: links.

Otherwise, that “Send via Email” button might surprise you with a creepy Outlook window.

Keep that in mind – it’ll explain a lot of what may happen in the next sections.

1. Emailing Your Spreadsheet the Easy Way

If you just need to share your current spreadsheet, take the most direct route.

In recent versions of Excel, go to File → Share → Email. Depending on your version, you’ll see options such as:

    • Send as Attachment – attaches your spreadsheet as an  XLSX file to a new message.

    • Send as PDF – converts your sheet to a PDF and attaches that instead.

    • Send as XPS – an alternative to PDF format developed by Microsoft; ignore it unless strictly required.

Emailing Your Spreadsheet the Easy Way  | UniOne Blog

Click on your choice, and Excel hands everything off to your default email client (see previous section). A blank message will open with your file already attached.

Adding an Email Button to Your Toolbar

If you do this often, you can make life easier by adding a button to the toolbar:

  1. Click the dropdown arrow on the Quick Access Toolbar.

  2. Choose More Commands…

  3. From the “Choose commands from” list, select All Commands.

  4. Scroll to Send to Mail Recipient and add it.

No more need to scroll the menu, just click the button instead.

When It May Fail

Sometimes, you click Send but nothing happens. Usually this means one of the following:

  • No mail client is configured;
  • No email client app is set as default;
  • MAPI is disabled or broken.

If you don’t use a local mail app at all, the task becomes more tedious. You’ll have to hit Compose in your web-based email client and attach the file manually, as you would normally do with any other file.

Also Works With

While Excel is very popular, it’s not the only spreadsheet app in existence. If you are using a paid or free alternative like Libre Office Calc, you can usually locate a similar menu item (after a bit of searching) and even add a toolbar button.

In another use case scenario, you need a link that opens a ready-to-send email in your default client when clicked.

How It Works

A mailto: link is just a specially formatted URL. It usually looks like this:

mailto:bob@example.com

Click it, and your computer’s default mail app opens a new draft addressed to that recipient. You may enter multiple recipient addresses, separated by comma.

You can also set other fields using special parameters:

mailto:bob@example.com?cc=jane@example.com&subject=Hello&body=Hi%20there!

The mailto: syntax supports the following parameters, separated by an ampersand:

  • to – works the same way as specifying an address right after mailto;
  • cc, bcc – send a copy or blind copy, respectively;
  • subject – will become a pre-filled subject line for your email;
  • body – similarly, you can prefill the email’s body.

Note that the first parameter must be preceded with a question mark, and special characters inside parameter values must be properly encoded (%20 for spaces, %0A for line breaks, etc.)

You can make one manually via:

  1. Select a cell.

  2. Press Ctrl+K or use the Insert Link menu.

  3. Enter your mailto: link.

Alternatively, you may use a formula:

=HYPERLINK("mailto:" & A2 & "?subject=Invoice%26body=Please%20see%20attached", "Send Mail")

Creating Mailto Links in Excel | UniOne Blog

In this example, the recipient's address will be taken from the A2 cell – handy for lists of contacts stored in multiple cells.

Common Gotchas

  • Special characters: make sure that special characters inside the URL are URL-encoded (%20, %26 for spaces and ampersands, respectively).
  • Wrong app opens: again, check your default mail client.
  • Bulk sends are discouraged: you may run into problems with your provider if you add dozens of CC or BCC recipients.

Mailto links are great for interactive sheets or quick-click dashboards. But remember, they don’t actually send emails – they just help start them.

Also Works With

Adding mailto: hyperlinks is the most universal technique among those listed here. Besides Excel, it will work for almost any app supporting hyperlinks.

3. Sending Emails with VBA: When You Need Real Automation

Now we’re stepping up a level. If you want Excel to send messages automatically – say, emailing different invoices to every contact in a list – VBA (Visual Basic for Applications) is your friend. It is your only way to go for more complex tasks, like composing a message dynamically based on your spreadsheet data. However, to use it efficiently, you must have at least some programming experience – or be really willing to learn new things.

Setting Things Up

  1. Enable the Developer tab:

    • Go to File → Options → Customize Ribbon.

    • Check Developer.

  2. Open the VBA editor (Alt+F11).

  3. Insert a new module (Insert → Module).

Example Script

Below is a simple code snippet that sends emails via Outlook. It sends out a number of emails with different attachments, based on the cells’ contents.

Sub SendEmails()

    Dim OutlookApp As Object

    Dim MailItem As Object

    Dim cell As Range

    Dim ws As Worksheet

    Set OutlookApp = CreateObject("Outlook.Application")

    Set ws = ThisWorkbook.Sheets("Sheet1")

    For Each cell In ws.Range("A2:A10")

        If cell.Value <> "" Then

            Set MailItem = OutlookApp.CreateItem(0)

            With MailItem

                .To = cell.Value

                .Subject = "Monthly Report"

                .Body = "Hello, please find your report attached."

                '.Attachments.Add "C:\Reports\" & cell.Offset(0, 1).Value

                .Send

            End With

        End If

    Next cell

End Sub

Sending Emails with VBA | UniOne Blog

Troubleshooting

When it comes to coding, the caveats you may encounter become quite numerous and sometimes difficult to pinpoint. Here’s a few popular gotchas:

  • Outlook not installed: this code relies on Outlook’s programming interface and will not work with any other mail app, be it local or web-based.
  • Security warnings: Outlook might block automatic sends. Check your macro settings. Use the .Display method instead of .Send while testing.
  • Email stuck in Outbox: usually indicates a permissions or profile issue. Check whether Outlook is able to send messages on its own; if not, contact your network administrator.

Customization Options

Once you master the basics of VBA, you get an incredibly powerful automation tool. You can extend your script to:

  • Send HTML messages;
  • Add CC/BCC fields;
  • Attach dynamic files or exported sheets;
  • Log status in another sheet;
  • …and ways more!

Also Works With

The same approach works in other spreadsheet software that supports embedded scripting – like Google Sheets (Apps Script), LibreOffice (Basic), or Numbers (AppleScript). Unfortunately, all of these use different scripting languages or language dialects, so you cannot expect a VBA script to work in any other app besides the MS Office suite. Nevertheless, scripting is the most powerful tool to automate your daily tasks, so the effort you invest in mastering it usually pays off in no time.

4. Using Word Mail Merge with Excel Data

For many, this is the go-to method for “mass emailing from Excel”. It’s been around literally for decades – but still works surprisingly well.

How It Works

Word’s Mail Merge feature can pull recipients’ data from an Excel spreadsheet and send individual, personalized emails through Outlook. Here, three apps work in perfect unison: your Excel spreadsheet acts as a data source, Word composes personalised messages, and Outlook performs the actual mailing.

Step-by-Step Guide

  1. Prepare your Excel data with separate columns for name, email, and any other personalized details.

  2. Open Word and go to Mailings → Start Mail Merge → E-Mail Messages.

  3. Click Select Recipients → Use an Existing List, and choose your Excel file.

  4. Insert merge fields like FirstName into your email body.

  5. Click Finish & Merge → Send E-Mail Messages…

  6. Enter the column name containing email addresses and your subject line.

Common Issues

Mail Merge is probably already familiar to many of your colleagues, so you may call for their help if necessary. The most likely failure points here are:

  • As with VBA scripts, Outlook must be properly configured in advance.
  • Formatting sometimes breaks in HTML mode.
  • Large sends can trigger throttling or anti-spam limits.

When It’s Not Enough

Mail Merge tool is great for small batches (a few hundred emails at max). However, we strongly advise you against using it for larger batches – or even smaller but regular tasks due to its inherent limitations:

  • No delivery tracking;
  • No bounce handling;
  • No open/click analytics;
  • Template management is complicated;
  • Emails may not look the same way in different clients.

If you’re running regular email campaigns, look into tools like Power Automate or Zapier for integration, and use a professional email service provider like UniOne, SendGrid, Mailchimp, etc.

Wrapping Up

So, can you send emails in Excel? Absolutely – the exact way just depends on what kind of “sending” you need.

Here’s a quick recap of what is available:

Method

Best For

Pros

Cons

Email menu

One-time file shares

Simple, fast

Needs a local mail client

Mailto: links

Quick contact sheets

Easy setup, universal

Manual sending

VBA scripting

Automated workflows

Fully customizable

Outlook only, learning curve

Mail Merge

Personalized mass mailing

Familiar, built-in

Limited control, no tracking or reporting

Excel isn’t an email platform, but it’s flexible enough to pretend to be one in the right hands.

You can go from zero to full automation with nothing more than Excel, Outlook, and a few lines of VBA. Or just click a button to email your sheet if needed.

Either way, once you understand what “send emails from Excel” really means, you’ll know which option to use for which task.

Related Articles
Blog
For beginners
Email Formatting: Examples & Best Practices for Success
Formatting emails is an art, and there’s no single way to do it perfectly. There are guidelines to f
Valeriia Klymenko
06 august 2024, 10:2910 min
Blog
For beginners
Best Transactional Email Services in 2026
The best transactional email services for 2026 compared.
Valeriia Klymenko
23 february 2026, 12:4110 min
Blog
For experts
Send Email with Node.js: SMTP and API Methods
Learn how you can start sending emails with Node.js in our comprehensive guide.
Denys Romanov
21 may 2025, 10:0120 min