Sub Main2()
Dim a() As Variant, v As Variant, r As Range, rr As Range, c As Range
Dim i As Long, ws As Worksheet, s As String
Dim aa() As String, bb() As String, ii As Long
Set ws = ActiveSheet
'Get unique values in column A of ws.
Set r = ws.Range("A2", ws.Range("A" & Rows.Count).End(xlUp))
a() = WorksheetFunction.Transpose(r)
a() = UniqueArrayByDict(a())
'MsgBox Join(a, vbLf)
Set r = ws.Range("A1", ws.Cells(1, Columns.Count).End(xlToLeft)) 'ws's Row 1 column cells
With Worksheets.Add(After:=Worksheets(Worksheets.Count))
.Name = "ReMastered Data"
'Copy row 1 column values.
r.Copy .Range("A1")
'Fill ReMasetered Data from ws.
For i = LBound(a) To UBound(a)
Set r = .Range("A" & .Rows.Count).End(xlUp).Offset(1)
ws.UsedRange.AutoFilter 1, a(i)
Set c = StripFirstRow(ws.UsedRange.Cells.SpecialCells(xlCellTypeVisible))
Set r = r.Resize(c.Rows.Count, c.Columns.Count)
c.Copy r
'Copy and format 2nd block from ws.
Set r = .Range("A" & .Rows.Count).End(xlUp).Offset(1)
Set r = r.Resize(c.Rows.Count, c.Columns.Count)
c.Copy r
r.Interior.Color = 14277081
'Change values of Remastered Data's Column B, 2nd block, to negative
For Each c In Intersect(r, r.Columns("B"))
c.Value = c.Value * -1
'Change prefix of Column A from number to number of suffix in Column C: A=1, B-2, etc.
ii = c.Row
aa() = Split(c.Offset(, 1).Value2, " ")
s = Cells(1, aa(UBound(aa))).Column 'Letter to number...
bb() = Split(c.Offset(, -1).Value2, "-")
bb(0) = s
c.Offset(, -1).Value2 = Join(bb, "-")
Next c
Next i
'Autofit ReMastered Data columns
.UsedRange.Columns.EntireColumn.AutoFit
End With
'Clear autofilter
ws.UsedRange.AutoFilter
End Sub