• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:範囲選択した内容と見出しをメール)

エクセル2013 マクロを使用して指定範囲と見出しをメール送信する方法

このQ&Aのポイント
  • エクセル2013のマクロを使用して、指定範囲と見出しをメールで送信する方法を紹介します。
  • 具体的には、A~N列に存在する見出しを選択し、5行目のA~Nを指定範囲としてメールを送信します。
  • メールの内容は、定型文として設定したAB3を件名、AC3を本文に含め、受信側に送信されます。

質問者が選んだベストアンサー

  • ベストアンサー
  • kybo
  • ベストアンサー率53% (349/647)
回答No.1

以下のページを参考にBASPを使うと、 http://www.officetanaka.net/excel/vba/tips/tips45.htm こんな感じじゃないかなと思います。 Sub mscro() Dim bobj, msg As String, C As Range, T As String Dim Server As String, Mailto As String, MailFrom As String, Subject As String, Body As String Set bobj = CreateObject("basp21") ''BASP21オブジェクト Server = "smtp.xxxxx.com" ''SMTPサーバー Mailto = Range("AA3").Value & vbTab & "cc" & vbTab & Range("AD3").Value ''宛先 MailFrom = "info@xxxxx.com" ''差出し人 Subject = Range("AB3").Value ''タイトル For Each C In Range("A4:N4") T = T & vbCrLf & C.Value & ":" & Cells(ActiveCell.Row, C.Column).Value Next C Body = Range("AC3").Value & vbCrLf & T ''本文 msg = bobj.SendMail(Server, Mailto, MailFrom, Subject, Body, "") Set bobj = Nothing If msg <> "" Then MsgBox msg End Sub 別途BASPはインストールする必要があります。 http://www.hi-ho.ne.jp/~babaq/basp21.html

maron1010
質問者

お礼

ありがとうございます。 一筋縄にはいかないですね。 インストールは、こちらの都合上、 出来ませんが、今後の参考とさせていただきます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルを使ってOutlookでメール送信

    エクセル Sheet1の各セルに下記のように既に入力があります。 To: AA3 (メアド入力済) 件名:AB3 (定型文入力済) 本文:AC3 (定型文入力済) Cc: AD3 (メアド入力済) 下記マクロを実行した時 Sheet1のAC3の定型文と 改行して Sheet2のA1からC列の最終入力行までの内容を Outlookメールで飛ばすにはどうしたら宜しいでしょうか? 尚且つ、メールを飛ばしたあと、 Sheet2のA1からC3までは残して2行目以降を消去したいです。 ご教示の程、宜しくお願い致します。 Dim myOLApp As Object Set myOLApp = CreateObject("Outlook.Application") Set myDATA = myOLApp.CreateItem(olMailItem) myDATA.To = Range("AA3").Value myDATA.CC = Range("AD3").Value myDATA.Subject = Range("AB3").Value myDATA.Body = Range("AC3").Value & Worksheets("Sheet2").Range("A1") myDATA.Send Set myDATA = Nothing Set myOLApp = Nothing 【例】 Sheet1 AC3 定型文・・・こんにちは。 Sheet2 A1・・・日付 B1・・・場所 C1・・・担当 A2・・・2014/10/26 B2・・・富士山 C2・・・鈴木 A3・・・2014/12/25 B3・・・TDL C3・・・佐藤

  • エクセルの見出しのヘルプについて

    エクセルに以下のようなヘルプがあるのですが、何度読んでも理解できません。どのようなケースでこの方法をつかうのでしょうか?またどのような利点があるのでしょうか。 よろしくお願いいたします。 各ページに印刷タイトルが印刷されない 行や列の見出し (ラベル) が入力されているページにだけ、印刷タイトルが印刷されます。たとえば、行見出しとしてセル A1:A5 を選択すると、行 5 より下の行だけが印刷されるページには行見出しが印刷されません。また、列見出しとしてセル A1:E1 を選択すると、列 E より右の列だけが印刷されるページには列見出しが印刷されません。これらのページに見出しを印刷するには、行または列の見出しをコピーします。 追加の行に行見出しをコピーする 行見出しとして印刷するセルを選択し、 (コピー) をクリックします。 行見出しが入力されていない、同じ列のセルを選択し、 (貼り付け) をクリックします。 [ファイル] メニューの [ページ設定] をクリックし、次に [シート] タブをクリックします。 [列のタイトル] ボックスをクリックし、行見出しを入力した列全体を指定します。たとえば、列 A のセルにコピーした行見出しを各ページに印刷するには、「$A:$A」と入力します。 追加の列に列見出しをコピーする 列見出しとして印刷するセルを選択し、 (コピー) をクリックします。 列見出しが入力されていない、同じ行のセルを選択し、 (貼り付け) をクリックします。 [ファイル] メニューの [ページ設定] をクリックし、次に [シート] タブをクリックします。 [行のタイトル] ボックスをクリックし、列見出しを入力した行全体を指定します。たとえば、行 1 と行 2 のセルにコピーした列見出しを各ページに印刷するには、「$1:$2」と入力します。

  • エクセルVBA セルの値で、複数の列範囲を同時に

    セルの値を利用して複数の列範囲を選択したいです セルA1に 3 と入力されていて、AA列がアクティブの場合 Range("AD:AF,AJ:AL").Select の様に、アクティブ列から3列空けて、3列選択、3列空けて、3列選択の様にしたいです AA、アクティブ AB AC AD、選択 AE、選択 AF、選択 AG AH AI AJ、選択 AK、選択 AL、選択 AM

  • セル範囲の指定方法について教えて下さい

    エクセルマクロ勉強中です。 いつも皆様のご回答をもとに勉強させて頂いております。 下記を行いたいのですが、うまくいきません。 AA列を検索(AA1から最終セルまでは空白セル無し)し、AA1からAEまでをコピー したいです。AEの最終行はAAで検索した最終行となります。 AA10が最終行であったならば、コピー範囲はRange("AA1:AE10")。   AA    AD AE 1  1     0 空白 2  1.5    2 空白 3  2     4  0.0 4  2.5    6  0.0 ・  ・     ・  ・ ・  ・     ・  ・ 11  空白 Range("AA1", Range("AA1").End(xlDown).End(xlToRight)).Select Selection.Copy 上記ですとAD列までは選択されますが、AEまで列までを選択するには どうしたらよいのでしょうか? ご教示頂きたく宜しくお願い致します。

  • オートフィルタを見出し行選択で不要な列まで▼がつく

    初めて質問します。goo41と申します。 過去ログも検索してみたのですが、出てこなかったので、質問させて いただきます。よろしくお願いします。 要旨としては、見出し行を選択し、オートフィルタをかけると見出し のない部分まで「▼」が表示されてしまいます。 例)     A     B     C     D     E  ┌───┬───┬───┬───┬───┐ 1│名前▼│年令▼│住所▼│   ▼│   ▼│  ├───┼───┼───┼───┼───┤   注)テキスト表なので表示上はずれているかもしれません。    見難いですが列がそろっているものとして見て下さい。 この例では、1:1という行の選択をして、オートフィルタをかけた 場合、A~Cだけでなく不要な列(DとE)にまで「▼」がついてしま います。  ※D列とE列のすべてのセルにはデータは何も入力されていま   せん。ただし、該当の列のどれかに過去、データを入力した   ことはあります。既に消去済み。 オートフィルタをかけるときに、A1:C1を選択すれば不要な列に は「▼」はつかないのですが、複数のシートで汎用的なマクロを作成 したいと思っており、できれば、行選択→オートフィルタで、必要な 見出しのところだけに「▼」がつくようにしたいのです。 というのも自分だけで使うのであればよいのですが、人(初心者)に渡 す必要があるため、できれば不必要な表示は避けたいと考えているか らです。 DとE列をすべてクリアしてみたり、列削除してみたりしたのですが、 一度でも、その列のどこかのセルに入力した経緯があれば、必ずその 列までに「▼」がついてしまうのです…。 これはExcelのバグなんでしょうか? どなたか解決策がありましたら、よろしくお願いいたします。

  • Excel の見出し行と見出し列を固定するには?

    Excel2000 なのですが、例えば見出しがA列にあり、かつ、1行目も見出しの場合、スクロールしても見出しを表示するにはどうすればいいでしょうか? 現在1行目をスクロールしても固定表示する方法として以下の方法を使っています。 1.2行目を選択(反転) 2.メニュー「ウィンドウ」-「ウィンドウ枠の固定」 これですと、1行目は固定表示されるのですが、横スクロールさせるとA列が見えなくなってしまいます。 すみませんがよろしくお願いします。

  • VBAにて範囲選択およびコピーの方法について

    連休中失礼いたします。VBA初心者です。 VBAにて範囲選択の方法およびコピーの方法について教えてください。 (1)範囲選択の方法  まず最初の条件としてD列における値が1.0以上(数値表記は少数点)の場合に限り、 それに該当する行をコピー(A~D列)したいのですが… この方法をVBAの式で表したいのです。  範囲選択として求めたい範囲は、下表で行くとRange(”A3:D6”)の範囲を選択したいのです。  ※D列における値が1.0以上の条件の指定までは、何とかできてそうな感じなのですが、   その条件を満たす、範囲選択がうまくできません。 (2)コピーの方法  (1)で選択した範囲を、選択sheetを変更して貼り付けたいのですがどのようにしたらよろしいでしょうか??       A列     B列     C列      D列 1行    13     10      10      0.5 2行    10     8       7       0 3行    11     9       7       1.0 4行    9      25      18      1.5 5行    8      43      23      1.5 6行    7      12      23      1.0 7行    6      23      43      0.5  8行    15     23      54      0 … …

  • エクセル マクロ 選択範囲を含む行の特定列を選択し、決まった値を入力させたいです。

    みなさんいつもありがとうございます。 ある範囲を選択しているときに、その選択範囲を含む行の、 特定の列全てに決まった文字列を入力させたいです。 【例】 (1)の範囲を選択している時に実行すると (2)のセル全てに『ABC』と入力  (下の場合は文字列を入力させたいのがC列)  (1)        (2) A2:A4  ⇒  C2:C4 A2:B4  ⇒  C2:C4 B5:E10  ⇒  C5:C10 よろしくお願いいたします。

  • Excelのセル選択範囲の指定について

    Excelのセル選択範囲の指定について d = Range("A65536").End(xlUp).Row Range("A1:K" & d).Select これでやると A1からk列のデータの最後の(データの入っている行)までを選択しますが このk列というところを n = ActiveSheet.Range("A1").End(xlToRight).Columnを使いKでなくデータのある列nを使った表現に変えたい。どうすればいいか。

  • 選択範囲の反転

    いつも有難うございます Excel2007ですが、あるシートに100行100列を使用して作成してあります、そこでその中の2列を100行まで選択をしておきそれを選択しない98列の方に反転したいのですが(選択範囲の反転)可能でしょうか。 宜しくお願いいたします。

専門家に質問してみよう