HYPERLINK関数を条件付きで実行するVBAについて教えてください。 これからVBAを勉強しようと思っていますが、そのとっかかりとして
HYPERLINK関数を条件付きで実行するVBAについて教えてください。 これからVBAを勉強しようと思っていますが、そのとっかかりとして 以下のVBAの組み方について教えていただけると助かります。 条件:画像の「今日の日付」よりも「期限」が過去になっている、 且つ状態が「未」になっているNo.の項目。 実行:メール列のHYPERLINK関数(mailtoを設定している)の「送信」を クリックして、立ち上がったOutlookメールを送信する。 つまり、画像の場合だと、No.2の送信だけメールを送信できるようにしたいです。
Visual Basic | Excel・174閲覧・500
ベストアンサー
こんな感じでしょうか。 Sub ハイパーリンク実行() Dim i As Long Dim lastRow As Long 'A列の最終行を取得 lastRow = Cells(Rows.Count, 1).End(xlUp).Row On Error GoTo エラー処理 For i = 3 To lastRow '日付がB1の値より小さい、且つ状態が「未」 If Cells(i, 2).Value < Range("B1").Value And _ Cells(i, 3).Value = "未" Then 'ハイパーリンクを実行 Cells(i, 4).Hyperlinks(1).Follow '状態を「済」に変更 Cells(i, 3).Value = "済" End If Next Exit Sub エラー処理: MsgBox Cells(i, 4).Address & "のリンク先が存在しません。" End Sub
ご丁寧にありがとうございます。 早速トライしてみましたが、「$D$4のリンク先が存在しません。」と表示されます。 試しにハイパーリンクの内容をインターネットのURLに置き換えてみるとエラー無く実行できました。 つまり、Outlookを立ち上げるmailtoのハイパーリンクだと実行は難しいのでしょうか・・・?
質問者からのお礼コメント
お二人ともご回答ありがとうございました。 これを機にEXCEL VBAの勉強を始めることができました。 今後も継続して勉強して、お二人のように詳しくなれるよう頑張ります。
お礼日時:1/26 22:01