[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『入力規則を使って、現在の値より小さい値を入力できなくしたい。』(Ness)
要約の通りです。
例:進捗率[50]%
[50]が入力されているセルの数字を手入力で頻繁に書き換えますが、
ミス防止のため、50(現在値)以上の値しか入力できないようにしたいのです。
少しでも簡潔に、VBAなしで実現したいのですが、お知恵を拝借できませんでしょうか。
循環参照に近い形で入力規則を設定したところ、判定の段階で全ての値が入力値に更新されてしまっているらしく、例でいえば49という数値も入力できてしまいました。
< 使用 Excel:Excel2016、使用 OS:Windows10 >
データ【 次の値以上 】 最小値【 50 】
(三輪車) 2023/01/28(土) 12:01:52
これって例えば現在50が入っていれば50以上の入力で例えば60と入力されたら次は60以上しか入力されないようにしたいということだろうか? (ねむねむ) 2023/01/28(土) 12:07:10
隣のセルに基準値を設けて、
数式で、入力セル>=基準値セル といった条件を設定することはできるが、
基準値を更新することはできない。
予め 基準値セル=入力セル などとしてしまうと、常に条件を満たすことになってしまう。(質問者さんの記載どおり)
上記の条件で入力規則をしておき、入力があったら、基準値の値を自動更新する
Changeイベントプロシージャを書けば可能は可能。
でも、VBAなしでと、必要なものを使っちゃだめというんだから、あきらめるしかないですな。
(abc) 2023/02/04(土) 16:21:02
>動いう意味。
こういうことかと。
http://www.jyoukyoutools.com/?p=1119
(MK) 2023/02/04(土) 17:45:28
MKさん、マナー違反とは知らず大変失礼いたしました。
(Ness) 2023/02/05(日) 15:26:46
Private Sub Worksheet_Change(ByVal Target As Range) Dim A, B If Target.Address(0, 0) <> "A1" Then Exit Sub A = Target Application.EnableEvents = False Application.Undo If IsNumeric(A) = False Then MsgBox "数字しか入力できません", vbOKOnly + vbExclamation Application.EnableEvents = True Exit Sub End If B = Target If A <= B Then MsgBox B & "以下の数字は入力できません", vbOKOnly + vbExclamation Else Target = A End If Application.EnableEvents = True End Sub (フォーキー) 2023/02/05(日) 18:47:06
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.