アプリ版:「スタンプのみでお礼する」機能のリリースについて

表題の通りです。
http://oshiete1.goo.ne.jp/qa2534226.html
で質問してURLにある回答を頂いたのですが、まだわからないことがありますので教えていただけないでしょうか?
(すいませんが少々急いでおります)

わからないことは以下の通りです。お願いします。
一点目は
>Cells(toku_l, toku_c) = toku1 'デフォルトの値
となっていますがデフォルトの値に戻すのではなく、前回の内容に戻したいのです。
つまり、例えば現在入力規則でリスト1、リスト2、リスト3と3通り選べるようになっています。このときリストが現在リスト2の状態であったときにリスト3を選んだら、本当にこれでいいですかと表示が出てハイを押せばリスト3、いいえを押せばリスト2に戻るようにしたいのです。
教えていただいた方法では常にデフォルトの値になってしまいます。

二点目は、 If Not ((x = toku1) Or (x = toku2) Or (x = toku3))
という箇所ですが、これですとリストにない項目を入力してはじめて
then以降が実行される式だと思います。
つまり、リスト2からリスト3に選択したときTHEN以降が実行されないと思うのです。

A 回答 (1件)

こんばんは。



前のは一旦、締めたほうがよいですね。

前のものも読んではいたのですが、私は、あえて、マクロにする理由が良く分かりませんでした。入力規則のリストですから、設定条件に合わせて、入力値を排除したほうが早いような気がしました。

こういうことですか? Const KISOKU の部分を適当に直してください。

Private Sub Worksheet_Change(ByVal Target As Range)
 Const KISOKU As String = "C2"  '入力規則の設定場所

 If Target.Address(0, 0) <> KISOKU Then Exit Sub
 Application.EnableEvents = False
 If MsgBox("本当にこれでよいのですか?", vbOKCancel) = vbCancel Then
  Application.Undo
 End If
 Application.EnableEvents = True
End Sub
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!