以下の内容はhttps://www.limecode.jp/entry/fungo/069-unmerge-cells-by-double-clickより取得しました。


69本目:ダブルクリックでセル結合を解除

Excel&VBA解説サイト「エクセルの神髄」様出題の問題集、
VBA100本ノック」に対する私の回答と解説のページです。

100本ノックの出題リストはこちらから
excel-ubara.com

出題:ダブルクリックでセル結合を解除

#VBA100本ノック 69本目
全シートを対象として、結合セルをダブルクリックしたらセル結合を解除して全てのセルに元の値を入れてください。
セル結合を解除した場合はダブルクリックによるセル編集状態にならないようにしてください。
ただし、結合セル以外の場合は通常の動作のままにしてください。

ダブルクリック解除

◇ 出題ページはこちら

ソースコード

ThisWorkbookモジュール

Option Explicit

' 100本ノック069:ダブルクリックでセル結合を解除
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
    
    If Target.MergeCells = True Then
        Target.UnMerge
        Target.Value = Target.Cells(1).Value
        Cancel = True
    End If
        
End Sub

解説

非常にシンプルな問題でしたね。

「全シートの共通イベントを一括で書く」場合は、
Workbook_SheetBeforeDoubleClickイベントを活用することが出来ます。

これの知識を問う問題とのことですので、
知らなかった方はこの機会にぜひ覚えておいてください。


全シートにWorksheet_BeforeDoubleClickを書くより簡単なことも多いので、
状況に応じてうまく使い分けましょう。




以上の内容はhttps://www.limecode.jp/entry/fungo/069-unmerge-cells-by-double-clickより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14