• ベストアンサー

エクセルマクロ

エクセルマクロでダブルクリックしたら入力規制を解除するようにしたいです。 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, _ Cancel As Boolean) With Selection.Validation .Delete .Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator _ :=xlBetween .IgnoreBlank = True .InCellDropdown = True .InputTitle = "" .ErrorTitle = "" .InputMessage = "" .ErrorMessage = "" .IMEMode = xlIMEModeNoControl .ShowInput = True .ShowError = True End With End Sub でうまくいったのですが、シートの保護をしていると対象セルを保護しない、にしていてもできません。 何かよい方法はありませんか? 入力規制をしてリストを選択にしている場所に、直接入力したい場合があるのでそれを簡単にダブルクリックで解除できないか、というのが狙いです。 よろしくお願い致します。

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

  • ベストアンサー
回答No.2

マクロではありませんが >入力規制をしてリストを選択にしている場所に、直接入力したい場合があるのでそれを簡単にダブルクリックで解除できないか、というのが狙いです。 これに関しては「入力規則」ー「エラーメッセージ」で 「無効なデータが入力されたらエラーメッセージを表示する(S)」のチェックをはずせばリスト以外の文字も入力出来ます。 せっかく苦労してコードの記述をされた所でしょうが 上記の方が簡単で良いのでは?

TAM3TAM7
質問者

お礼

おっしゃるとおり、マクロにする必要はなかったです…。 ありがとうございました!

その他の回答 (3)

回答No.4

TAM3TAM7さん 今日は! 矢張りマクロではないですが。 ■Excel(エクセル)基本講座:入力規則の使い方:目次↓ http://www.eurus.dti.ne.jp/~yoneyama/Excel/n-kis_menyu.htm 参考に為れば。 ■Excel(エクセル)入門/基本/上級/実用講座の総目次↓ http://www.eurus.dti.ne.jp/~yoneyama/Excel/Exl-_zen.htm ■Excel2007(エクセル2007)基本講座の総目次↓ http://www.eurus.dti.ne.jp/~yoneyama/Excel2007/index.html 概要:「よねさんのWordとExcelの小部屋サイト」で図入りで、親切に解説して呉ますのでお気に入りに登録したいサイトです。 エクセルQ&A(Tips) も有り解説に無い分の検索で探せる1番のお勧めです。 VBAより楽な場合も有ります。 なお入力規制でなく入力規則が正しいそうです。

TAM3TAM7
質問者

お礼

いろんなリンクを張って下さりありがとうございました!! 勉強になります!

  • DOUGLAS_
  • ベストアンサー率74% (397/534)
回答No.3

 [データの入力規制] ダイアログ - [エラー メッセージ] タブ - [無効なデータが入力されたらエラー メッセージを表示する(S)] のチェックを外したくはない、ということとして。。。  BeforeDoubleClick ではリストが開くだけのようですので、BeforeRightClick にして、 Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)  ActiveSheet.Unprotect  With Selection.Validation  ・・・・・・・・・・・  End With  ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True  Cancel = True End Sub とされてはいかがでしょうか?

TAM3TAM7
質問者

お礼

右クリックした後でパスワードの入力が求められるようでしたので、結局マクロでないやり方ですることにしました。 しかし、勉強になりました。ありがとうございました。

  • phoenix343
  • ベストアンサー率15% (296/1946)
回答No.1

|シートの保護をしていると対象セルを保護しない、にしていてもできません。 ではマクロで保護解除/施錠をすればいいかと思いますが Protect/UnProtect をキーに検索しましょう。

TAM3TAM7
質問者

お礼

ありがとうございました。 保護しないにしていてもだめなのですね、勉強になりました。

関連するQ&A