太郎日記’79J

「やったろうやないの。」な太郎のblog
技術ネタはタロタローグに任せて、こっちはニュースメインで。
<< January 2019 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 >>
 
RECOMMEND
MySQLによるタフなサイトの作り方
MySQLによるタフなサイトの作り方 (JUGEMレビュー »)
佐藤 真人,桑野 章弘,岡田 達典,大黒 圭祐
MySQLだけでなく、DBサーバやアプリの設計など、あらゆる手段を使ってタフなサイトを作る本である
最新記事
あわせて読みたい
あわせて読みたい
なかのひと
ClusterMaps
CM by JUGEM
スポンサーサイト

一定期間更新がないため広告を表示しています

- | 個別記事 | - | -
Excel VBAで、ダブルクリック時に何か特殊なことをしたくなった

Excelを使ってて、セルをダブルクリックした時に何かしたい場合、
シートに対して、
Worksheet_BeforeDoubleClickってイベントを定義します。
例えば以下は、
「セルをダブルクリックすると、
1.セルの内容が空白なら”○”を入れる
2.セルの内容が”○”なら”×”に変える
3.セルの内容が”×”なら空白にする 4.その他の場合、普通に編集モードに切り替え」
と言う処理を施します。
これを、シートに対して定義してやればO.K.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Select Case Target.Value
    Case Empty
        Target.Value = "○"
    Case "○"
        Target.Value = "×"
    Case "×"
        Target.Value = Empty
    Case Else
        Exit Sub
    End Select
    Cancel = True
End Sub

さらに、ブック内にいっぱいシートがあるけど、
どのシートでダブルクリックしても同じような処理をさせたい場合、
ThisWorkBookに対して、
Workbook_SheetBeforeDoubleClickを定義します。
上の例だと、こんな感じ。

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
    Select Case Target.Value
    Case Empty
        Target.Value = "○"
    Case "○"
        Target.Value = "×"
    Case "×"
        Target.Value = Empty
    Case Else
        Exit Sub
    End Select
    Cancel = True
End Sub

CancelをTrueに設定すると、
ダブルクリック時の本来の動作(セルをダブルクリック→編集モード)を、
行わなくなります。

つか、ExcelもVBAとかわかってくると便利になりそうですねぇ。

スポンサーサイト
- | 個別記事 | - | -
ドミノ・ピザでも食べながら、コメントをどうぞ。
コメントする









 
トラックバック
この記事のトラックバックURL(記事と無関係なトラックバックは削除される可能性があります)
※記事が投稿されてから30分の間、トラックバックを行うことが出来ません。
http://tarotaro.jugem.cc/trackback/1449
 

Copyright (C) 2004 paperboy&co. All Rights Reserved.

Powered by "JUGEM"