Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


9401 / 13644 ツリー ←次へ | 前へ→

【27570】セルをキーボートとマウスからの編集禁止... いのっち 05/8/12(金) 9:56 質問[未読]
【27575】Re:セルをキーボートとマウスからの編集禁... ponpon 05/8/12(金) 11:30 発言[未読]
【27576】Re:セルをキーボートとマウスからの編集禁... りん 05/8/12(金) 11:51 発言[未読]

【27570】セルをキーボートとマウスからの編集禁止...
質問  いのっち  - 05/8/12(金) 9:56 -

引用なし
パスワード
   特定のセルをキーボートとマウスからの編集を受け付けない(マクロは受け付ける!)・・・というような方法はありますでしょうか?(「シートの保護とセルのロック」は使用しない)

A1でアメリカを選択、B1でイギリスを選択すると、C1でドルとポンドの為替レートが出てくるような感じのものが数十列あります。

ユーザーにはA1,B1セルの国名リストを選択できます、C1でマクロの中にある換算表で結果を出しますが、ユーザーが何かの手間違いで結果を編集できないようにしたいのです。(シートの保護だとわけのわからないマクロを書き換えないといけない個所が多くて大変なもので(^^;)

 application.interactiveは少し主旨が違いそうなのですが、何か良い方法がありましたら、アドバイスをお願いいたします。。

【27575】Re:セルをキーボートとマウスからの編集...
発言  ponpon  - 05/8/12(金) 11:30 -

引用なし
パスワード
   こんにちは。

>(「シートの保護とセルのロック」は使用しない)

ということですが、

WorkSheets("sheet1").Protect UserInterfaceOnly:=True

A1、B1のロックをはずして、
これだと、マクロは、動きますが・・・

あとは、

UnProtect
処理
Protect

シートの保護は、使いたくない・・でしたね。失礼しました。

こういう意味でなかったらすみません。

【27576】Re:セルをキーボートとマウスからの編集...
発言  りん E-MAIL  - 05/8/12(金) 11:51 -

引用なし
パスワード
   いのっち さん、こんにちわ。
>特定のセルをキーボートとマウスからの編集を受け付けない(マクロは受け付ける!)・・・というような方法はありますでしょうか?(「シートの保護とセルのロック」は使用しない)

C列を選択できなくするなら。

↓ここから==========
Dim rb As Range
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  Application.EnableEvents = False
  If Not Application.Intersect(Target, Columns("C:C")) Is Nothing Then
   With ActiveCell
     '選択範囲がC列にかかっていたら
     If .Column <> 3 Then
      .Select 'アクティブなセルのみ選択
     ElseIf Not rb Is Nothing Then
      Cells(.Row, 3 - Sgn(rb.Column - .Column)).Select 'C列をスルー
     Else
      Cells(.Row, 2).Select '強制的にB列へ移動
     End If
   End With
  End If
  Application.EnableEvents = True
  Set rb = ActiveCell
End Sub
↑ここまで==========
上のコードをシートのモジュール(シートのタブで右クリックして表示される所)に貼り付けて、カーソルやマウスで移動してみてください。

9401 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free