Option Explicit
'--------------------------------------------------------
' C列の値が …
' ①「2025/1-2025/4」→
' ・元セルを「2025/1-2025/3」に書換
' ・直下に1行挿入し C列へ「2025/4」
'
' ②「2025/1-2025/5」→
' ・元セルを「2025/1-2025/3」に書換
' ・直下に1行挿入し C列へ「2025/4-2025/5」
'
' それ以外のセルは触りません。
'--------------------------------------------------------
Sub Split_2025_Ranges_C()
Dim ws As Worksheet
Dim lastRow As Long, r As Long
Dim txt As String
Set ws = ActiveSheet '←必要なら固定
Application.ScreenUpdating = False '画面チラつき防止
lastRow = ws.Cells(ws.Rows.Count, "C").End(xlUp).Row
'▼ 後ろから上へループ(行挿入で行番号がズレないように)
For r = lastRow To 1 Step -1
txt = Trim$(ws.Cells(r, "C").Value)
Select Case txt
Case "2025/1-2025/4"
'―― 元セルを修正 ――
ws.Cells(r, "C").Value = "2025/1-2025/3"
'―― 1行挿入し「2025/4」 ――
ws.Rows(r + 1).Insert Shift:=xlDown, _
CopyOrigin:=xlFormatFromLeftOrAbove
ws.Cells(r + 1, "C").Value = "2025/4"
Case "2025/1-2025/5"
'―― 元セルを修正 ――
ws.Cells(r, "C").Value = "2025/1-2025/3"
'―― 1行挿入し「2025/4-2025/5」 ――
ws.Rows(r + 1).Insert Shift:=xlDown, _
CopyOrigin:=xlFormatFromLeftOrAbove
ws.Cells(r + 1, "C").Value = "2025/4-2025/5"
'▼他パターンは何もしない
End Select
Next r
Application.ScreenUpdating = True
End Sub
Option Explicit
Sub Split_2025_Ranges_B()
Dim ws As Worksheet
Dim lastRow As Long, r As Long
Dim txt As String
Set ws = ActiveSheet '← 必要なら固定
Application.ScreenUpdating = False '画面チラつき防止
lastRow = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row
'▼ 後ろから上へ(行挿入で行番号がずれても安全)
For r = lastRow To 1 Step -1
txt = Trim$(ws.Cells(r, "B").Value)
Select Case txt
'──────── 1Q + 1 行 ────────
Case "2025/1-2025/4"
ws.Cells(r, "B").Value = "2025/1-2025/3"
ws.Rows(r + 1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
ws.Cells(r + 1, "B").Value = "2025/4"
Case "2025/1-2025/6"
ws.Cells(r, "B").Value = "2025/1-2025/3"
ws.Rows(r + 1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
ws.Cells(r + 1, "B").Value = "2025/4-2025/6"
'──────── 1Q + 2 行 ────────
Case "2025/1-2025/7"
ws.Cells(r, "B").Value = "2025/1-2025/3"
ws.Rows(r + 1 & ":" & r + 2).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
ws.Cells(r + 1, "B").Value = "2025/4-2025/6"
ws.Cells(r + 2, "B").Value = "2025/7"
Case "2025/1-2025/8"
ws.Cells(r, "B").Value = "2025/1-2025/3"
ws.Rows(r + 1 & ":" & r + 2).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
ws.Cells(r + 1, "B").Value = "2025/4-2025/6"
ws.Cells(r + 2, "B").Value = "2025/7-2025/8"
Case "2025/1-2025/9"
ws.Cells(r, "B").Value = "2025/1-2025/3"
ws.Rows(r + 1 & ":" & r + 2).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
ws.Cells(r + 1, "B").Value = "2025/4-2025/6"
ws.Cells(r + 2, "B").Value = "2025/7-2025/9"
'──────── 1Q + 3 行 ────────
Case "2025/1-2025/10"
ws.Cells(r, "B").Value = "2025/1-2025/3"
ws.Rows(r + 1 & ":" & r + 3).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
ws.Cells(r + 1, "B").Value = "2025/4-2025/6"
ws.Cells(r + 2, "B").Value = "2025/7-2025/9"
ws.Cells(r + 3, "B").Value = "2025/10"
Case "2025/1-2025/11"
ws.Cells(r, "B").Value = "2025/1-2025/3"
ws.Rows(r + 1 & ":" & r + 3).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
ws.Cells(r + 1, "B").Value = "2025/4-2025/6"
ws.Cells(r + 2, "B").Value = "2025/7-2025/9"
ws.Cells(r + 3, "B").Value = "2025/10-2025/11"
Case "2025/1-2025/12"
ws.Cells(r, "B").Value = "2025/1-2025/3"
ws.Rows(r + 1 & ":" & r + 3).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
ws.Cells(r + 1, "B").Value = "2025/4-2025/6"
ws.Cells(r + 2, "B").Value = "2025/7-2025/9"
ws.Cells(r + 3, "B").Value = "2025/10-2025/12"
'──────── 何もしない ────────
Case Else
'対象外はスキップ
End Select
Next r
Application.ScreenUpdating = True
End Sub
Option Explicit
'--------------------------------------------------------
' ◆ C 列専用版 ◆
' C 列に下記いずれかの文字列があるときだけ処理
'
' 2025/1-2025/4 → 元セル: 2025/1-2025/3
' +1 行: 2025/4
'
' 2025/1-2025/6 → 元セル: 2025/1-2025/3
' +1 行: 2025/4-2025/6
'
' 2025/1-2025/7 → 元セル: 2025/1-2025/3
' +2 行: 2025/4-2025/6 / 2025/7
'
' 2025/1-2025/8 → 元セル: 2025/1-2025/3
' +2 行: 2025/4-2025/6 / 2025/7-2025/8
'
' 2025/1-2025/9 → 元セル: 2025/1-2025/3
' +2 行: 2025/4-2025/6 / 2025/7-2025/9
'
' 2025/1-2025/10 → 元セル: 2025/1-2025/3
' +3 行: 2025/4-2025/6 / 2025/7-2025/9 / 2025/10
'
' 2025/1-2025/11 → 元セル: 2025/1-2025/3
' +3 行: 2025/4-2025/6 / 2025/7-2025/9 / 2025/10-2025/11
'
' 2025/1-2025/12 → 元セル: 2025/1-2025/3
' +3 行: 2025/4-2025/6 / 2025/7-2025/9 / 2025/10-2025/12
'--------------------------------------------------------
Sub Split_2025_Ranges_C()
Dim ws As Worksheet
Dim lastRow As Long, r As Long, txt As String
Set ws = ActiveSheet
Application.ScreenUpdating = False
lastRow = ws.Cells(ws.Rows.Count, "C").End(xlUp).Row
'―― 後ろから上へ走査(行挿入ズレ防止) ――
For r = lastRow To 1 Step -1
txt = Trim$(ws.Cells(r, "C").Value)
Select Case txt
'──────── 1Q + 1 行 ────────
Case "2025/1-2025/4"
ws.Cells(r, "C").Value = "2025/1-2025/3"
ws.Rows(r + 1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
ws.Cells(r + 1, "C").Value = "2025/4"
Case "2025/1-2025/6"
ws.Cells(r, "C").Value = "2025/1-2025/3"
ws.Rows(r + 1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
ws.Cells(r + 1, "C").Value = "2025/4-2025/6"
'──────── 1Q + 2 行 ────────
Case "2025/1-2025/7"
ws.Cells(r, "C").Value = "2025/1-2025/3"
ws.Rows(r + 1 & ":" & r + 2).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
ws.Cells(r + 1, "C").Value = "2025/4-2025/6"
ws.Cells(r + 2, "C").Value = "2025/7"
Case "2025/1-2025/8"
ws.Cells(r, "C").Value = "2025/1-2025/3"
ws.Rows(r + 1 & ":" & r + 2).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
ws.Cells(r + 1, "C").Value = "2025/4-2025/6"
ws.Cells(r + 2, "C").Value = "2025/7-2025/8"
Case "2025/1-2025/9"
ws.Cells(r, "C").Value = "2025/1-2025/3"
ws.Rows(r + 1 & ":" & r + 2).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
ws.Cells(r + 1, "C").Value = "2025/4-2025/6"
ws.Cells(r + 2, "C").Value = "2025/7-2025/9"
'──────── 1Q + 3 行 ────────
Case "2025/1-2025/10"
ws.Cells(r, "C").Value = "2025/1-2025/3"
ws.Rows(r + 1 & ":" & r + 3).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
ws.Cells(r + 1, "C").Value = "2025/4-2025/6"
ws.Cells(r + 2, "C").Value = "2025/7-2025/9"
ws.Cells(r + 3, "C").Value = "2025/10"
Case "2025/1-2025/11"
ws.Cells(r, "C").Value = "2025/1-2025/3"
ws.Rows(r + 1 & ":" & r + 3).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
ws.Cells(r + 1, "C").Value = "2025/4-2025/6"
ws.Cells(r + 2, "C").Value = "2025/7-2025/9"
ws.Cells(r + 3, "C").Value = "2025/10-2025/11"
Case "2025/1-2025/12"
ws.Cells(r, "C").Value = "2025/1-2025/3"
ws.Rows(r + 1 & ":" & r + 3).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
ws.Cells(r + 1, "C").Value = "2025/4-2025/6"
ws.Cells(r + 2, "C").Value = "2025/7-2025/9"
ws.Cells(r + 3, "C").Value = "2025/10-2025/12"
'──────── それ以外は無視 ────────
End Select
Next r
Application.ScreenUpdating = True
End Sub
Option Explicit
'--------------------------------------------------------
' ◆ C 列専用版 ◆
' C 列に下記いずれかの文字列があるときだけ処理
'
' 2025/1-2025/4 → 元セル: 2025/1-2025/3
' +1 行: 2025/4
'
' 2025/1-2025/6 → 元セル: 2025/1-2025/3
' +1 行: 2025/4-2025/6
'
' 2025/1-2025/7 → 元セル: 2025/1-2025/3
' +2 行: 2025/4-2025/6 / 2025/7
'
' 2025/1-2025/8 → 元セル: 2025/1-2025/3
' +2 行: 2025/4-2025/6 / 2025/7-2025/8
'
' 2025/1-2025/9 → 元セル: 2025/1-2025/3
' +2 行: 2025/4-2025/6 / 2025/7-2025/9
'
' 2025/1-2025/10 → 元セル: 2025/1-2025/3
' +3 行: 2025/4-2025/6 / 2025/7-2025/9 / 2025/10
'
' 2025/1-2025/11 → 元セル: 2025/1-2025/3
' +3 行: 2025/4-2025/6 / 2025/7-2025/9 / 2025/10-2025/11
'
' 2025/1-2025/12 → 元セル: 2025/1-2025/3
' +3 行: 2025/4-2025/6 / 2025/7-2025/9 / 2025/10-2025/12
'--------------------------------------------------------
Sub Split_2025_Ranges_C()
Dim ws As Worksheet
Dim lastRow As Long, r As Long, txt As String
Set ws = ActiveSheet
Application.ScreenUpdating = False
lastRow = ws.Cells(ws.Rows.Count, "C").End(xlUp).Row
'―― 後ろから上へ走査(行挿入ズレ防止) ――
For r = lastRow To 1 Step -1
txt = Trim$(ws.Cells(r, "C").Value)
Select Case txt
'──────── 1Q + 1 行 ────────
Case "2025/1-2025/4"
ws.Cells(r, "C").Value = "2025/1-2025/3"
ws.Rows(r + 1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
ws.Cells(r + 1, "C").Value = "2025/4"
Case "2025/1-2025/6"
ws.Cells(r, "C").Value = "2025/1-2025/3"
ws.Rows(r + 1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
ws.Cells(r + 1, "C").Value = "2025/4-2025/6"
'──────── 1Q + 2 行 ────────
Case "2025/1-2025/7"
ws.Cells(r, "C").Value = "2025/1-2025/3"
ws.Rows(r + 1 & ":" & r + 2).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
ws.Cells(r + 1, "C").Value = "2025/4-2025/6"
ws.Cells(r + 2, "C").Value = "2025/7"
Case "2025/1-2025/8"
ws.Cells(r, "C").Value = "2025/1-2025/3"
ws.Rows(r + 1 & ":" & r + 2).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
ws.Cells(r + 1, "C").Value = "2025/4-2025/6"
ws.Cells(r + 2, "C").Value = "2025/7-2025/8"
Case "2025/1-2025/9"
ws.Cells(r, "C").Value = "2025/1-2025/3"
ws.Rows(r + 1 & ":" & r + 2).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
ws.Cells(r + 1, "C").Value = "2025/4-2025/6"
ws.Cells(r + 2, "C").Value = "2025/7-2025/9"
'──────── 1Q + 3 行 ────────
Case "2025/1-2025/10"
ws.Cells(r, "C").Value = "2025/1-2025/3"
ws.Rows(r + 1 & ":" & r + 3).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
ws.Cells(r + 1, "C").Value = "2025/4-2025/6"
ws.Cells(r + 2, "C").Value = "2025/7-2025/9"
ws.Cells(r + 3, "C").Value = "2025/10"
Case "2025/1-2025/11"
ws.Cells(r, "C").Value = "2025/1-2025/3"
ws.Rows(r + 1 & ":" & r + 3).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
ws.Cells(r + 1, "C").Value = "2025/4-2025/6"
ws.Cells(r + 2, "C").Value = "2025/7-2025/9"
ws.Cells(r + 3, "C").Value = "2025/10-2025/11"
Case "2025/1-2025/12"
ws.Cells(r, "C").Value = "2025/1-2025/3"
ws.Rows(r + 1 & ":" & r + 3).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
ws.Cells(r + 1, "C").Value = "2025/4-2025/6"
ws.Cells(r + 2, "C").Value = "2025/7-2025/9"
ws.Cells(r + 3, "C").Value = "2025/10-2025/12"
'──────── それ以外は無視 ────────
End Select
Next r
Application.ScreenUpdating = True
End Sub