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