いつもお世話になっております。
下記の【やりたいこと】を作成したいのですが難航しており力添え頂きたいです。
以下に詳細を記載しています。
【シート内容】
Sheet1の内容
ActiveXのTextBox1,CommandButton1
C列に氏名、D列に第一メールアドレス、
E列に第二メールアドレスが存在する(約100件)
Sheet2の内容
B1にメールの件名、B2にメールの本文が記入されている
【やりたいこと】
・Sheet1のTextBox1に氏名を入力してCommandButton1をクリックしSheet1に記載されている氏名(C列)の中から同じ氏名をヒットさせる
・氏名がヒットしたらTOに第一メールアドレス(D列)、CCに第二メールアドレス(E列)、件名にSheet2の件名(B1)、本文にSheet2の本文(B2)が入力された状態でOutlookのメール作成画面が表示されるようにしたい。
・検索がヒットしなければ"存在しません"と表示する
下記の作成したコード①と②を合わせたコードを作成しようと思いましたが上手くいかなかったので一旦、別々のコードを作ってみました。
作成したコード①と②を合わせたいです。初心者なので間違っているコードがあると思いますがご教授お願い致します。
【作成した内容①TextBox1に入力した氏名と同じ氏名をSheet1のC列からヒットさせる】
Private Sub CommandButton1_Click()
Dim F As Variant
Set myRange = ActiveSheet.Range("C10:E100")
Set rngSearch = myRange.Find(What:=TextBox1.Value, LookAt:=xlPart)
If TextBox1 = "" Then
MsgBox "氏名を入力してください。"
Else
If Not rngSearch Is Nothing Then
rngSearch.select
Else
MsgBox "見つかりませんでした。"
End If
End If
End Sub
【作成した内容②メール作成】
Sub OUTLOOK()
Dim objOutlook As Outlook.Application
Dim objMail As Outlook.MailItem
Dim wsMail As Worksheet
Set objOutlook = New Outlook.Application
Set wsMail = ThisWorkbook.Sheets("送信内容")
Set objMail = objOutlook.CreateItem(olMailItem)
With wsMail
objMail.To = wsList.Cells(i, 4).Value
objMail.CC = wsList.Cells(i, 5).Value
objMail.Subject = .Range("B1").Value
objMail.BodyFormat = olFormatPlain
objMail.Body = .Range("B2").Value
objMail..Display
End With
Set objOutlook = Nothing
MsgBox "送信完了"
End Sub
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/06 03:52
2020/02/06 07:26
2020/02/06 09:47