アプリ版:「スタンプのみでお礼する」機能のリリースについて

作業ブックのシート名「受付」に
If Range("D2").Value = "紙申請" Then
Call 電図
Else Call 紙図
End If
End Sub
このコードはセル("D2")に"紙申請"が表示されたタイミングでマクロ名「電図」が実行され、"紙申請"以外ではマクロ名「紙図」が実行されます。
このコードに追加して、
セル("D2")に
"車庫等:増築"
"車庫等:増築+消防同意有"
"車庫等:単独"
の3つの内、いずれか一つが表示されたタイミングで マクロ名「保存」を実行するようにする方法を教えて下さい。 よろしくお願いいたします。

A 回答 (2件)

値の変更によってマクロを動作させるには、Worksheet.Change イベントを使います。



参考になりそうな記事。
  ↓
【VBA】値変更のシートイベントを使う【Changeを使います】
https://daitaideit.com/vba-sheet-event-change/

この記事の内容から作ってみたのがこちら。
  ↓
Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect(Target, Range("D2")) Is Nothing Then
  If Left(Range("D2"), 4) = "車庫等:" Then
   Call 保存
  End If
 End If
End Sub


「保存」マクロの発動のきっかけとなる値の先頭から4文字が共通なので、IF条件も1つにまとめています。

マクロは標準モジュールでのほうではなく、Sheetの方に書いてくださいね。
「ExcelのVBAコードについて教えて下」の回答画像2
    • good
    • 0
この回答へのお礼

回答ありがとう御座いました。
参考にさせて頂きます。

お礼日時:2022/06/25 15:56

Select Case文を使うと良さそうですね。


https://docs.microsoft.com/ja-jp/office/vba/lang …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!