プロが教えるわが家の防犯対策術!

作業ブックに
Sub 車庫増築()
On Error Resume Next
Select Case Worksheets("青紙表").Range("CI52")
Case "2号"
Worksheets("青紙表").Range("I6") = "■"
Case "3号"
Worksheets("青紙表").Range("K6") = "■"
Case "4号"
Worksheets("青紙表").Range("M6") = "■"
End Select

End Sub
のマクロがあります。
このマクロを実行すると
指定セル値の表示によって指定セルに「■」が表示されるようになっております。
このマクロに
セル「AR9」に「(限特):有」が表示されると
セル「D62」が「■」になるマクロを追加する方法を教えてください。
よろしくお願いいたします。

A 回答 (3件)

条件重複しても良いということでよろしいでしょうか。


Sub 車庫増築()
On Error Resume Next
Select Case Worksheets("青紙表").Range("CI52")
Case "2号"
Worksheets("青紙表").Range("I6") = "■"
Case "3号"
Worksheets("青紙表").Range("K6") = "■"
Case "4号"
Worksheets("青紙表").Range("M6") = "■"
End Select

Select Case Worksheets("青紙表").Range("AR9")
Case "(限特):有"
Worksheets("青紙表").Range("D62") = "■"
End Select
又は IF文で
If Worksheets("青紙表").Range("AR9") = "(限特):有" Then
Worksheets("青紙表").Range("D62") = "■"
End If

End Sub
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
全て解決いたしました。

お礼日時:2022/06/30 11:05

この条件ステートメントは、



 Select Case 変数
  Case 条件式1
  処理1
  Case 条件式2
  処理2
  Case 条件式3
  処理3
  …
  Case Else
  すべての条件に一致しなかった場合の処理
 End Select

のように、1つの変数に対し、条件により複数の分岐処理がある場合に使います。

・・・

そんなわけで、質問のケースでは
 「CI52」セル
の値を判断条件にしているので、
 「AR9」セル
に対しては、別の Select Caseステートメントで条件処理を作る必要があります。
(IFステートメントでもいいんですけど、見た目が変わるので個人的には統一させたいですね)

 Select Case Worksheets("青紙表").Range("AR9")
  Case "(限特):有"
  Worksheets("青紙表").Range("D62") = "■"
 End Select

マジでこんだけのことです。

・・・余談・・・

Select Caseステートメントの使い方を理解していないことで生じた問題ですね。
基本的なことですので、誰かに作ってもらうのではなく、使い方について理解するようにしましょう。
そうすれば以後はその場で自身の判断で対処できるようになりますよ。
    • good
    • 0

>このマクロにセル「AR9」に「(限特):有」が表示されると


セル「D62」が「■」になるマクロを追加する方法を教えてください>

AR9なのでSelect Caseに入れる必要はなく
普通にIF文で良いですよ

もし AR9 が "(限特):有" ならば D62に"■" 違えば D62 に ""

参考
Office Hack
ExcelのVBA(マクロ)でIf~Then~Elseを使って条件分岐する方法
https://office-hack.com/excel/if-vba/
    • good
    • 0

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