G-Tool2-Main-Sht1_WS比較用

Excel VBA

ワークシートの比較ツール

Mainの【ワークシート比較ツール.xlsm】と、結果を書き込む【ワークシート比較結果雛形.xlsm】の
2つのブックを作成します。(Microsoft365 64bit環境推奨)

マクロコードの貼り付け

 作成されたMainファイルに、【Main】シートを作成後に下記コードをシートモジュールに貼り付け
 1. 【Alt】+【F11】キーを押下し、VBE画面を表示
 2. 【Sheet1(Main)】等表示されている、シートモジュールを開く
 3. 下記ボックス内をコピーし、貼り付け

 G-Tool2-Form-A01_WS比較用 につづく

 【Main】シートモジュール:Sheet1
Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

    Dim sttRow As Long
    Dim ENDROW As Long
    Dim ttlRow As Long

    Dim MaxRow As Long       '最終行
    Dim MaxCol As Long       '最終列

    With ThisWorkbook.Worksheets("Main")
        'テーブル範囲の最終行取得
        With .ListObjects(1)
            ttlRow = .HeaderRowRange.Row
            If .DataBodyRange Is Nothing Then
                MaxRow = ttlRow + 1
            Else
                MaxRow = ttlRow + .DataBodyRange.Rows.Count
            End If
        End With
    End With
    
    With Target
    
        'E-F列
        If (.Column = 7 Or .Column = 8) And _
            (.Row >= 13 And .Row <= MaxRow) Then
            Cancel = True
            With Cells(ActiveCell.Row, 7)
                If .Value <> ChrW("&H2713") Then
                    .Value = ChrW("&H2713")
                    .Resize(, 2).Interior.Color = RGB(255, 217, 102)  'ソフトイエロー
                Else
                    .Value = ActiveCell.Row - 12
                    .Resize(, 2).Interior.Color = vbWhite             '背景色白
                End If
            End With
            .Calculate
        End If
    End With
End Sub

コメント

タイトルとURLをコピーしました