『条件分岐してマクロを実行したい』(ジャスミン)
Sheet(1)のA列のセルで「5W」という文字があったら、条件分岐するマクロを作りたいのですが上手くできません。
Sub test1()
Dim ws As Worksheet Set ws = Sheets(1) Const xAAA As String = "5W" If WorksheetFunction.CountIf(ws.Range("A:A"), xAAA) > 0 Then Call 5W Else Call 4W End If End Sub
上記でA列に「5W」は無いのですが
Call 5W
が実行されます。
どのようにしたら
Call 4W
が実行されるか教えてください。
よろしくお願いいたします。
< 使用 Excel:Microsoft365、使用 OS:Windows11 >
つまり、 >Call 5W >が実行されます。 は、妄想だと思います。 (結果) 2024/04/17(水) 17:20:30
指摘がありましたように、プロシージャ名を数字で始めることはできません。 一度、下記に目を通すとよいかもしれません。 「Visual Basic の名前付け規則」 https://learn.microsoft.com/ja-jp/office/vba/language/concepts/getting-started/visual-basic-naming-rules (xyz) 2024/04/17(水) 17:30:15
Sub test1() If WorksheetFunction.CountIf(Sheets(1).Range("A:A"), "5W") > 0 Then MsgBox "あるよ" Else MsgBox "ないよ" End If End Sub
(もこな2 ) 2024/04/17(水) 17:32:48
そもそも Call 5W Call 4W の2行は赤字になっていませんか? 実行すると、 Call 5W の行がハイライトされ、 「コンパイルエラー:構文エラー」になるはずです。 確認してもらえますか?
条件分岐はできているはずなので、 適切なプロシージャ名、例えば、Sub5W とか Sub4W とかにしたらいかが?
(xyz) 2024/04/17(水) 19:42:01
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.