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

解決済みの質問

セルの値により入力を制限したい

EXCEL2013を利用しています。
セル入力の制限方法について助言賜りたく投稿させていただきました。
行いたいこととしまして、

・セルA1には数値を入力します。
・セルA1に2ケタ以上の数値が入力された場合はメッセージを表示させます。
 ただし入力はできます。
・セルA2に"済"と入力された場合は、セルA1は入力できません。
・シート全体としては、奇数行は数値入力、偶数行は”空欄”か”済”とします。
 ”済”の参照は、A1はA2を参照、A3はA4を参照、B1はB2を参照、C3はC4を参照、・・・といった具合に、範囲はA1~NG200、同様のシートが30枚、に対し上記条件を適用させたいです。

といったことを行いたいのですが、可能でしょうか?

自分では、

A1の入力規則へ、A2=" " と設定する。(A1~NG200のすべてに適用させる)
A1~NG200の範囲に対し、>10 の場合はメッセージを出す

としたいのですが、手段を思いつけせんでした。。。

投稿日時 - 2017-04-15 17:09:04

QNo.9317894

すぐに回答ほしいです

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

回答は簡単だと思います。

ただ、ここまで具体的なイメージをお持ちなら、書かれているキーワードで、
「excel 〇〇〇」
と検索すれば、解決方法が山のように出てきます。
質問者様のスキルアップのためにも、ここで回答を得るのでなく、ご自身で学習して対策を思いつく方がよいと思います。

投稿日時 - 2017-04-15 17:16:16

補足

スミマセン、、、下記で出来ました。
(1)A2セルの値が"済"のときはA1は入力できない
 入力規則 ユーザー設定 =A2<>"済"

(2)シート内の特定セル範囲に対して >10 はメッセージを出す
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A1:PH200")) Is Nothing Then
Exit Sub
Else
If Target.Value >= 10 And Target.Value <> "済" Then
MsgBox "10以上"
End If
End If
End Sub

投稿日時 - 2017-04-15 18:54:04

お礼

hawa254様、返信ありがとうございます。
探してみました!

A1セルの入力禁止は入力規則で行い、シート全体のセル値の監視に対してはWorksheet_Change()イベントまで辿りついたのですが、変更時のセル値がたとえば > 10 のときにメッセージを出す、に苦戦しています。変更時のセル値の取得方法がわからず。。。。
ま、引き続き方法探してみます。

投稿日時 - 2017-04-15 18:09:26

ANo.1

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

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

回答(1)