ここから本文です

エクセルのマクロについて 過去に一度勉強したのですが完全に忘れてしまい、教本...

lio********さん

2020/5/3021:26:39

エクセルのマクロについて
過去に一度勉強したのですが完全に忘れてしまい、教本なども無くしてしまったため質問させてください。

B1~20までそれぞれのセルに数値を入力した際に高値か低値、もしくは基準値内かで判定を行いたいのですが、
例えばB2セルで判定を行いたいのであればワークシートに以下の①設定を行い、 B2に120と入力すれば自動で下記②のようなマクロを実行され基準値内と表示されてほしいのですが、名前が適切ではありませんと出てきてしまいます
間違っている場所か、もしくは上記のマクロを行う場合に行うべきものを教えていただけませんか?


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range(B2) <> "" Then Call title
End Sub
Sub title()



Sub title()

If ("B2") > 140 Then
MsgBox "基準より高値"
If ("B2") < 100 Then
MsgBox "基準より低値"
End If

Else
MsgBox "基準値"
End If

閲覧数:
28
回答数:
3
お礼:
250枚

違反報告

回答

1〜3件/3件中

並び替え:回答日時の
新しい順
|古い順

プロフィール画像

カテゴリマスター

2020/5/3108:39:09

Range(B2)
If ("B2")

どちらも正しい記述ではないです。
Range("B2")
です。

lgk********さん

2020/5/3023:29:40

名前が適切ではありませんは、Sub title() が2ヶ所にあるからです。
SelectionChangeは洗濯範囲を変更した時、つまり、どこかのセルをクリックした時か範囲指定をしたときに起動します。
入力した時なら、Changeを使います。
また、これだとB2しかできません。
これだと、基準値より低地が[B2] > 140かつ[B2] < 100でありえなくなります。
'
Private Sub Worksheet_Change(ByVal Target As Range)
'
    If Target.Count > 1 Or Target.Row > 21 Or Target.Column <> 2 Then
        End
    End If
'
    If Target > 140 Then
        MsgBox "基準より高値"
    ElseIf Target < 100 Then
        MsgBox "基準より低値"
    Else
        MsgBox "基準値"
    End If
End Sub

a_h*******さん

2020/5/3021:50:20

If Range(B2) <> "" Then Call title
上記の命令で、B2の変数は何を格納していますか?

If ("B2") > 140 Then
If ("B2") < 100 Then
上記のB2は何?


>名前が適切ではありませんと出てきてしまいます
どの場所でエラーが出てますか?

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる