エクセルからメールを起動して
本文の一部分にサイトへ飛べるURLをハイパーリンクとして埋め込みたい。
下記マクロを修正、ご教示ください。
1行目は見出し
2行目からデータ
まず、Text4 = Range("I2").Valueの部分を
I列の2行目から最終行までと書き換えたいです。
途中、空白は無いとします。
次に
I列には数値が入っています。
Msg = Msg & "<A HREF=""http://~(省略)id="">*******</A> " & "<BR>" の
"<A HREF=""http://~(省略)id="">にI2、I3、I4・・・の数値を付加させたいです。
例:http://~(省略)id=123456789
更に、メール本文には、I列の数値を表示させると、
http://~(省略)id=123456789 をリンクさせたいです。
I列は見出しを除いて1行のみの場合もあれば、数行の場合もあります。
データは、I列のみが増えていきます。他列は見出しを除く1行で完結。
なので、メールには
123456789 (←http://~(省略)id=123456789がハイパーリンク)
987654321 (←http://~(省略)id=987654321がハイパーリンク)
・・・以下、続く
数値(例:123456789)をクリックするとサイトへ飛べるようにするのが目的です。
宜しくお願い致します。
Sub エクセルからメール送信()
Dim OlApp As Outlook.Application
Dim mItem As Outlook.MailItem
Dim cell As Range
Dim Subj As String
Dim EmailAddr As String
Dim Recipient As String
Dim Msg As String
Dim Message As String
Dim Sender As String
Dim Texts As String
Dim Texts2 As String
Dim report As String
Worksheets("Sheet1").Activate
Set OutlookApp = New Outlook.Application
Subj = Range("C2")
EmailAddr = Range("A2")
CCAddr = Range("B2")
Text1 = Range("D1").Value & "<BR>" & Range("D2").Value
Text2 = Range("E1").Value & "<BR>" & Range("E2").Value & "様"
Text3 = Range("F2").Value
Text4 = Range("I2").Value
Msg = Msg & Text1 & "<BR>"
Msg = Msg & Text2 & "<BR>"
Msg = Msg & Text3 & "<BR>"
Msg = Msg & "<A HREF=""http://~(省略)id="">*******</A> " & "<BR>"
Msg = Msg & "宜しくお願い致します。" & "<BR>"
Set mItem = OutlookApp.CreateItem(olMailItem)
With mItem
.To = EmailAddr
.CC = CCAddr
.BCC = BCCAddr
.Subject = Subj
.HTMLBody = Msg
.Display
End With
End Sub
※ マクロは某サイトの既存物を参考にしました
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
とりあえず
>まず、Text4 = Range("I2").Valueの部分を
>I列の2行目から最終行までと書き換えたいです。
の部分だけですが
For i = 2 To Range("A" & Rows.Count).End(xlUp).Row
Subj = Range("C" & i)
EmailAddr = Range("A" & i)
CCAddr = Range("B" & i)
・・・・
Next
と云った具合に、For ~Next で繰り返させます。
Range("A" & Rows.Count).End(xlUp).Row
がA列にデータが入っている最終行番号を取得する構文と思ってください。
Range("A" & Rows.Count).
一旦、A列の一番下(2007以降であれば、1048576)へ移動して、
End(xlup)で空白でない最後の行へ移動して
.Row でその行番号
となります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) Excel VBA メール作成について 本文の中にExcel でコピーした図を上下に2つ 貼り付けを 2 2023/06/14 01:48
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
- Visual Basic(VBA) 別シートのデータを参照して値を入れたい。 まとめデータシートのC列D列の値を商品一覧シートのコードが 7 2022/08/17 13:20
- Visual Basic(VBA) 稀に1円合いません? Sheet1から金額と個数を貼り付ける下記コードで、金額を切り上げるコードを何 3 2022/09/05 15:11
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) VBAにてメール作成した際、一部指定箇所のみ赤文字にしたいです。 下記の内容ですと作成されたメール本 1 2022/04/27 13:31
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ギターのコードが分からない
-
マイクラPC版のコマンドで効率...
-
1テーブル&複数レコードの更新...
-
SQL Left Join で重複を排除す...
-
LEFT JOIN と GROUP BY
-
1行目は1、2行目は1~2、...
-
ふたつのテーブルを参照してデ...
-
MySQLのSELECT文の書き方
-
先輩社員(男性)の誕生日プレゼント
-
【MySQL】auto_incrementの値を...
-
このSQL文の意味を教えてくださ...
-
ニコニコをパソコンからTwitter...
-
MySQL 最大値のレコードの特定
-
神戸 三宮でのおいしい夕食は?
-
FMV-B8200に合うメモリを教えて...
-
四捨五入について
-
SODIMM DDR2 PC2-4200 が標準メ...
-
iPad2にアップルのエクセル同...
-
エクセルで最後の文字だけ置き...
-
”photo id” とは何ぞや?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで最後の文字だけ置き...
-
SQL Left Join で重複を排除す...
-
副問合せの書き方について
-
SQLサーバから、項目の属性(型...
-
VIEWの元のテーブルのindexって...
-
select文のwhere句に配列を入れ...
-
selectした大量データをinsert...
-
センノシド異性体構造式
-
Unionした最後にGROUP BYを追加...
-
insertを高速化させたい
-
SQLにて特定の文字を除いた検索...
-
マイクラPC版のコマンドで効率...
-
ある条件の最大値+1を初番する...
-
inner joinをすると数がおかし...
-
sqlで、600行あるテーブルを100...
-
エクセルの関数について教えて...
-
Access パラメータクエリをcsv...
-
URL と行番号の指定
-
複数テーブルのGROUP BY の使い...
-
PL/SQLの変数について
おすすめ情報