a””からExcelに張り付けた値を自動で編集したい。具体的には、まずフォントを游ゴシックに変更。時間表記をh:mmへ変更。さらに、A列B列D列F列H列を削除する。最後に格子をつけて。値のないセルには格子をつけないで。これを貼り付けた瞬間に行いたい

 

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim ws As Worksheet
    Dim rng As Range
    Dim cell As Range

    Set ws = Me ' 現在のシート
    Set rng = ws.UsedRange

    Application.EnableEvents = False ' イベント処理を一時的に無効化

    ' フォントを游ゴシックに変更
    rng.Font.Name = "游ゴシック"

    ' 時間表記を h:mm に変更
    rng.NumberFormat = "h:mm"

    ' A列, B列, D列, F列, H列を削除(後方から削除し、インデックスのズレを防ぐ)
    ws.Columns("H").Delete
    ws.Columns("F").Delete
    ws.Columns("D").Delete
    ws.Columns("B").Delete
    ws.Columns("A").Delete

    ' 残ったセルで値があるものにのみ格子を付ける
    For Each cell In ws.UsedRange
        If Not IsEmpty(cell.Value) Then
            With cell.Borders
                .LineStyle = xlContinuous
            End With
        End If
    Next cell

    Application.EnableEvents = True ' イベント処理を再有効化
End Sub