Excel VBA質問箱 IV

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

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


6445 / 13646 ツリー ←次へ | 前へ→

【45195】セルをダブルクリックしたときの有効と無効について ルフィ 06/12/15(金) 8:34 質問[未読]
【45199】Re:セルをダブルクリックしたときの有効と... 飛ばない豚 06/12/15(金) 10:22 回答[未読]
【45201】Re:セルをダブルクリックしたときの有効と... ルフィ 06/12/15(金) 11:11 お礼[未読]

【45195】セルをダブルクリックしたときの有効と無...
質問  ルフィ  - 06/12/15(金) 8:34 -

引用なし
パスワード
   お世話になります。

セルをダブルクリックしたときに、A1にダブルクリックしたセルの値を入れ、
B1にダブルクリックしたセルの右隣の値を入れるというVBAを組みたいのですが、
そのとき、ダブルクリックしていいセルをC列のみにして、
その他のセルがダブルクリックされても、無効にしたいのですがうまくいきません。
C列のみロックを解除して、シートの保護をすれば・・・などと考えましたが、
うまくいきませんでした。
どうしたら良いのかご教示いただけないでしょうか。

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)

    Range("A1").Value = ActiveCell.Value
    Range("B1").Value = ActiveCell.Offset(0, 1).Value

End Sub

【45199】Re:セルをダブルクリックしたときの有効...
回答  飛ばない豚  - 06/12/15(金) 10:22 -

引用なし
パスワード
   ▼ルフィ さん:
引数のShはシート、Targetはセルを取得(?)しています。

よって
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, _
                      ByVal Target As Range, Cancel As Boolean)
  
  If Target.Column <> 3 Then Exit Sub
  
  Sh.Range("A1").Value = Target.Value
  Sh.Range("B1").Value = Target.Offset(0, 1).Value

End Sub

こんな感じになります。

特定のワークシートであれば、Worksheet_BeforeDoubleClick の方に記述しても
良いかもしれません。
(その際は、Shはありませんので不要です)

それでは。(^・ω・^)

【45201】Re:セルをダブルクリックしたときの有効...
お礼  ルフィ  - 06/12/15(金) 11:11 -

引用なし
パスワード
   ▼飛ばない豚 さん:

()の引数を利用すれば良いのですね。
勉強になりました。ありがとうございます。

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