Sub merging_cells()
Dim i As Long, n As Long, ini As Long, fin As Long
Application.ScreenUpdating = False
Range("A:A").MergeCells = False
Range("A:A").ClearContents
ini = 1: fin = 1
For i = 1 To Range("B" & Rows.Count).End(3).Row + 1
If Range("B" & i).Value = "A" Or Range("B" & i).Value = "" Then
If i > 1 Then
With Range("A" & ini & ":A" & fin)
.Merge
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
n = n + 1
.Value = n
ini = i: fin = i
End With
End If
Else
fin = i
End If
Next
Application.ScreenUpdating = True
End Sub
That means that data "A", "B", "C"... are in column C?and end it at the last value in column "C,"
Sub merging_cells()
Dim i As Long, n As Long, ini As Long, fin As Long
Application.ScreenUpdating = False
Range("A:A").MergeCells = False
Range("A:A").ClearContents
ini = 3: fin = 3
For i = 3 To Range("C" & Rows.Count).End(3).Row + 1
If Range("C" & i).Value = "A" Or Range("C" & i).Value = "" Then
If i > 3 Then
With Range("A" & ini & ":A" & fin)
.Merge
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
n = n + 1
.Value = n
ini = i: fin = i
End With
End If
Else
fin = i
End If
Next
Application.ScreenUpdating = True
End Sub
Sub merging_cells()
Dim i As Long, n As Long, ini As Long, fin As Long
Application.ScreenUpdating = False
Range("A:A").MergeCells = False
Range("A:A").ClearContents
ini = 3: fin = 3
For i = 3 To Range("C" & Rows.Count).End(3).Row + 1
If Range("B" & i).Value = "A" Or Range("B" & i).Value = "" Then
If i > 3 Then
With Range("A" & ini & ":A" & fin)
.Merge
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
n = n + 1
.Value = n
ini = i: fin = i
End With
End If
Else
fin = i
End If
Next
Application.ScreenUpdating = True
End Sub