マクロについて詳しい方、ご教授ください。
現在、メールをクリックで送信できるシステムを作っています。
超初心者なので的外れな質問ご容赦ください。
メール送信には
http://www.fastclassinfo.com/entry/vba_gmail_sen …
上記サイトのものを使っています。
sheet1に数値を入力して、上記のモジュールを作動させるとうまく動きました。
sheet2にボタンを配置してクリックすると送信できるようにしたいのですが、sheet2のボタンが連動致しません。
ボタンは
http://brain.cc.kogakuin.ac.jp/~kanamaru/lecture …
を参考に作っています。
ボタンを押すと、50音リスト→人の名前→AまたはBを押すとメールが送信されるというシステムを目指しています。初心者にはハードルが高いのは重々承知ですが、詳しい方、御助力いただけたら嬉しいです。
No.1ベストアンサー
- 回答日時:
こんにちは
>ボタンを押すと、50音リスト→人の名前→AまたはBを押すと
>メールが送信されるというシステムを目指しています。
現状がどのような形になっているのか、よくわかりませんが・・・
>sheet2のボタンが連動致しません。
ボタンを押した際のマクロを「新規作成」しているのでしょうか?
あるいは「メール送信のマクロ」を直接指定しているのでしょうか?
まぁ、今回のご質問の場合では、どちらのケースでも同じ原因で動作していないものと想像されます。
参考になさっている「メール送信」のマクロは送信に必要な情報(送信先、本文など)をアクティブシートから参照するようになっていますが、ご質問の状態を想像するに、アクティブシートはボタンのあるsheet2になっているものと思います。
この結果、マクロはSheet2のセル値を参照してしまうので、送信アドレスなどは正しい内容が取得できず、わけのわからない内容で送信を行うかあるいはエラーが発生することになっているものと想像します。
対処法としては、「メール送信」のマクロでシートを参照している箇所(例えば Range("~~").Value などとなっている部分)に対して、きちんと参照するシートを明示したセルの指定方法に変えれば良さそうに思います。
例えば、それぞれの該当箇所を
Worksheets("Sheet1").Range("~~").Value
のように直しても良いですし、
一旦、 Set ws = Worksheets("Sheet1") のように変数に入れておいて
ws.Range("~~").Value
のようにしても同様になります。
該当箇所が多いので、With構文を利用して
With Worksheets("Sheet1")
・・・・・・・
.Range("~~").Value
・・・・・・・
End With
といった記述法でも良いでしょう。
いろいろと想像で回答していますので、修正等に手を付ける前に、まずこの推理が正しいかどうかを確かめる意味から、ひとまず、現状の「メール送信」マクロの最初に(Dim宣言の後ぐらいに)
Worksheets("Sheet1").Activate
の1行を追加して、Sheet2のボタンを押して送信できるかどうかを確認してみるのが宜しいかと思います。
こんにちは
まさにのご指摘ありがとうございますm(_ _)m
一発で解決しました。
sheet1への移動で全て解決でした。
>ボタンを押すと、50音リスト→人の名前→AまたはBを押すと
>メールが送信されるというシステムを目指しています。
現状がどのような形になっているのか、よくわかりませんが・・・
こちらはまだできていません。
銀行の振り込みの時に、銀行を選択するシステムがあるかと思います。
例えば、「あ」を押すとあxxxxx銀行、あccccccc銀行などの感じです。
こういうようなシステムが作れればよいのですが。。。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Excel(エクセル) アンケート集計用VBAについて教えて下さい。 約100人にアンケート内容が入ったExcelファイルを 1 2022/07/27 13:12
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) VBAにてメール作成した際、一部指定箇所のみ赤文字にしたいです。 下記の内容ですと作成されたメール本 1 2022/04/27 13:31
- Gmail メーラーのThunderbirdの送信機能に関する質問です 3 2022/07/10 10:58
- Excel(エクセル) Excel マクロの編集がグレーになって 編集ができなくなりました 2 2023/04/28 20:35
- docomo(ドコモ) 携帯 arrows we の操作 4 2023/03/29 18:53
- その他(Microsoft Office) VBA メール送信済で実行されるはずが、実行されない時があります。 2 2023/02/02 14:05
- Visual Basic(VBA) VBA Twitter 高度な検索 日付 単語 リンクをOutlook で送信 2 2022/06/18 18:36
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESSから、メール送信を行い...
-
フォームを再送信しますか?
-
Safariで「本当にこのフォーム...
-
HP の問い合わせフォームのつく...
-
CGI? JS? ASP? 何...
-
フォーム内容が正しく取得できない
-
NIFTYのCGIでSENDMAIL
-
MAILER-DAEMONの行方。
-
チャットを作る
-
お問い合わせフォームから送信...
-
kentさんのpostmailをホームペ...
-
sendmailでの複数メールアドレ...
-
WriteFileで送信できたかの確認...
-
フォームを作りたいと思ってい...
-
CGIで自動返信
-
添付ファイルmmap
-
VB6で、Bsmtp.dllを使って、メ...
-
CGIでメールのReturn-Pathに値...
-
決まった時間にメールの自動発信
-
FLASHからアプリケーションの呼...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
お問い合わせフォームから送信...
-
フォームを再送信しますか?
-
Safariで「本当にこのフォーム...
-
Googleフォームを回答したか確...
-
ACCESSから、メール送信を行い...
-
BASP21のSendMailとSendMailEx...
-
Accessでメール一括送信ソフ...
-
メールアドレスが正しいかどう...
-
チャットを作る
-
VB.NETからGmail経由でメールを...
-
ホームページビルダーのメール...
-
VB6で、Bsmtp.dllを使って、メ...
-
WriteFileで送信できたかの確認...
-
メールフォームで送信すると「...
-
VBA メール一斉送信で添付ファ...
-
VB.NET(2005)の"SerialPort" ...
-
CGIでメールのReturn-Pathに値...
-
メールフォームの受信先にg-m...
-
VBで添付ファイル付きのメール...
-
VBA EasyCommでの送信
おすすめ情報