I did not add back the output header row nor formats. You can easily add them manually in a template sheet or ask for help if needed.
This should get you close.
Sub CONVERTDataA()
Dim r As Range, c As Range, o As Worksheet
Dim s As Worksheet, cw As Long, i As Integer
Dim f&, e&, a, j As Integer
Set s = Worksheets("Current_State")
f = 19 'Payment Number Column (first)
e = s.Cells(1, Columns.Count).End(xlToLeft).Column - 6 'Payment Number Column (end)
Set r = s.Range("C2", s.Cells(s.Cells(s.Cells.Rows.Count, "A").End(xlUp).Row, f - 1))
Set o = Worksheets("Output2") 'Change sheetname to suit
Application.ScreenUpdating = False
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
ReDim a(1 To r.Rows.Count * (e - f) / 7, 1 To 10)
j = 1
With s
For Each c In r
If c <> "Y" Then GoTo NextC
For i = f To e Step 7 '19 To 96 Step 7
cw = c.Row
If .Cells(cw, i + 1).Value = "" Then GoTo NextI 'Amount
a(j, 1) = .Cells(cw, "A").Value 'Division
a(j, 2) = .Cells(cw, "B").Value 'Division Name
a(j, 3) = .Cells(1, c.Column).Value 'Area
a(j, 4) = .Cells(cw, i).Value 'Payment Number
a(j, 5) = .Cells(cw, i + 1).Value 'Amount
a(j, 6) = .Cells(cw, i + 2).Value 'Payee
a(j, 7) = .Cells(cw, i + 3).Value 'ID
a(j, 8) = .Cells(cw, i + 4).Value 'Group
a(j, 9) = .Cells(cw, i + 5).Value 'Location
a(j, 10) = .Cells(cw, i + 6).Value 'Comments
j = j + 1 'increment array a index counter
NextI:
Next i
NextC:
Next c
End With
o.Range("A2").Resize(UBound(a, 1), UBound(a, 2)).Value = a
Application.ScreenUpdating = True
Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic
Application.CutCopyMode = False
End Sub