Sub 自動結合()
Dim colNo As Long
colNo = ActiveCell.Column
Dim lastRow As Long
lastRow = Cells(Rows.Count, colNo).End(xlUp).Row
Dim sRow As Long
sRow = 1
Dim i As Long
Application.DisplayAlerts = False
For i = 1 To lastRow
If Cells(i, colNo).Value <> Cells(i + 1, colNo).Value Then
Range(Cells(sRow, colNo), Cells(i, colNo)).Merge
sRow = i + 1
End If
Next i
Application.DisplayAlerts = True
End Sub
For i = 1 To lastRow
If Cells(i, colNo).Value <> Cells(i + 1, colNo).Value Then
Range(Cells(sRow, colNo), Cells(i, colNo)).Merge
sRow = i + 1
End If
Next i
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Row = 2 And _
Target.Column >= 2 And Target.Column <= 5 Then
Dim rng As Range
Set rng = Range("B2").CurrentRegion
rng.Sort _
Key1:=Target, _
Order1:=xlAscending, _
Header:=xlYes
End If
End Sub
では、コードについて解説していきます。
If Target.Row = 2 And _
Target.Column >= 2 And Target.Column <= 5 Then
…
End If
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Target.Row = 2 And _
Target.Column >= 2 And Target.Column <= 5 Then
Cancel = True
Dim rng As Range
Set rng = Range("B2").CurrentRegion
rng.Sort _
Key1:=Target, _
Order1:=xlDescending, _
Header:=xlYes
End If
End Sub