[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『シート保護でのダブルクリックイベント』(ピクルス)
この掲示板は以前から閲覧させていただいていましたが、書き込むのは初めてです。よろしくお願いします。
以下のリストがあり -A- 1 2 A 3 B 4 C
B1に入力規則リストで 「空白を無視する」と「リストから選択」にチェックが入っています。 「元の値」は「=$A$1:$A$4」です。
ワークシートに以下のコード
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim varList As Variant Dim i As Long If Target.Address = "$B$1" Then varList = Range("A1:A4") For i = 1 To UBound(varList) If Target.Value = varList(UBound(varList), 1) Then Target.Value = varList(1, 1) Exit For ElseIf Target.Value = varList(i, 1) Then Target.Value = varList(i + 1, 1) Exit For End If Next i Cancel = True Exit Sub End If End Sub
以上で、B1はドロップダウンリストから選択するか、ダブルクリックで内容の変更ができるようになりました。 このシートを保護したいので、B1のロックを解除し、シートの保護を行います。 するとダブルクリックイベントが発生しなくなってしまいます。
シートの保護をして、ダブルクリックイベントもリストから選択も行いたいのですが、方法があるでしょうか? わかる方がいらしたら、どうぞご教授くださいませ。お願いします。
< 使用 Excel:Office365、使用 OS:Windows10 >
>リストから選択も行いたいのですが [入力規則リスト] に、拘らなかったら右クリックメニューからもアリかな?
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim CMD_BARS As CommandBarControl Dim c As Range If Target.Address = "$B$1" Then '全てのメニューを一旦削除 For Each CMD_BARS In Application.CommandBars("Cell").Controls CMD_BARS.Visible = False Next For Each c In Range("A1:A4") '以下で、新規のメニューを追加 Set CMD_BARS = Application.CommandBars("Cell").Controls.Add() With CMD_BARS .Caption = c.Value .OnAction = "'inputItem """ & c.Value & """'" End With Next Application.CommandBars("Cell").ShowPopup Cancel = True End If Application.CommandBars("Cell").Reset ' Application.CommandBars("Column").Reset ' Application.CommandBars("Row").Reset End Sub
標準モジュールに
Sub inputItem(a As String)
ActiveCell.Value = a End Sub
(ピンク) 2020/02/17(月) 11:27
ピンクさん、返信ありがとうございます。 問題は、シート保護するとダブルクリックでの値変更ができなくなることなので、リストでの選択はできます。 ダブルクリックで値の変更を行いたいのです。
ご提示いただいたコードは大変興味深いので、今後の参考にさせていただきます。 (ピクルス) 2020/02/17(月) 11:49
>問題は、シート保護するとダブルクリックでの値変更ができなくなることなので
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
まさか↑を外したの?
こちらではB1セルのロックを外し
入力規則を解除した状態でシート保護で
BeforeDoubleClickイベント
BeforeRightClickイベント
共に作動していますよ
(ピンク) 2020/02/17(月) 12:03
(ピクルス) 2020/02/17(月) 12:11
>入力規則を解除していないのでは? すいません。その通りでした。 こちらの勘違いでご迷惑おかけしました。
出来上がってみると良い動きなのでこれで行こうと思います。 助けていただいてありがとうございました。 (ピクルス) 2020/02/17(月) 12:18
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.