こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

SelectionChangeイベント 文字列エラ

エクセルvbaなのですが
セルをクリックしたときに、該当する値ならメッセージを表示させる際に
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Value = 1Then
MsgBox ""
End If
End Sub
ならエラーにならずに動くのに

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Value = "運賃" Then
MsgBox ""
End If
End Sub

のように文字列にすると、型が一致しません。
と言うエラーになります。

If Target.Value = "運賃" Then
の時でも、空白セルや数値が入ったセルをクリックした際はエラーになりません。

どのような型にすればいいのでしょうか?

実際、「運賃」と言う値が入ってるセルをクリックしても同じエラーが発生します。

投稿日時 - 2013-08-10 23:26:08

QNo.8214496

困ってます

質問者が選んだベストアンサー

例えば一つの原因として、運賃や文字が記入されたセル(=クリックするとエラーになるセル)が、「セル結合」されている状況と推測できます。
ちなみにその場合=1のマクロでも、エラーが出るセルをクリックするとやはりエラーが出ます。


変更前:
If Target.Value = "運賃" Then

変更後:
if activecell.value = "運賃" then
あるいは
if target.cells(1).value = "運賃" then
などのようにしてみます。

投稿日時 - 2013-08-11 01:26:30

お礼

ありがとうございます。

投稿日時 - 2013-08-31 15:53:25

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)