Option Explicit
Public strf As Variant
Dim strf1, strf2, strf3, strf4, strf5, strf6, strf7, strf8, strf9, strf10, _
strf11, strf12, strf13, strf14, strf15, strf16, strf17, strf18, strf19, strf20, _
strf21, strf22, strf23, strf24, strf25, strf26, strf27, strf28, strf29, strf30, _
strf31, strf32, strf33, strf34, strf35, strf36, strf37, strf38, strf39, strf40, _
strf41, strf42, strf43, strf44, strf45, strf46, strf47, strf48, strf49, strf50
Public Sub sf()
With ActiveSheet
strf1 = .Range("A2:A1002")
strf2 = .Range("B2:B1002")
strf3 = .Range("C2:C1002")
strf4 = .Range("D2:D1002")
strf5 = .Range("E2:E1002")
strf6 = .Range("F2:F1002")
strf7 = .Range("G2:G1002")
strf8 = .Range("H2:H1002")
strf9 = .Range("I2:I1002")
strf10 = .Range("J2:J1002")
strf11 = .Range("K2:K1002")
strf12 = .Range("L2:L1002")
strf13 = .Range("M2:M1002")
strf14 = .Range("N2:N1002")
strf15 = .Range("O2:O1002")
strf16 = .Range("P2:P1002")
strf17 = .Range("Q2:Q1002")
strf18 = .Range("R2:R1002")
strf19 = .Range("S2:S1002")
strf20 = .Range("T2:T1002")
strf21 = .Range("U2:U1002")
strf22 = .Range("V2:V1002")
strf23 = .Range("W2:W1002")
strf24 = .Range("X2:X1002")
strf25 = .Range("Y2:Y1002")
strf26 = .Range("Z2:Z1002")
strf27 = .Range("AA2:AA1002")
strf28 = .Range("AB2:AB1002")
strf29 = .Range("AC2:AC1002")
strf30 = .Range("AD2:AD1002")
strf31 = .Range("AE2:AE1002")
strf32 = .Range("AF2:AF1002")
strf33 = .Range("AG2:AG1002")
strf34 = .Range("AH2:AH1002")
strf35 = .Range("AI2:AI1002")
strf36 = .Range("AJ2:AJ1002")
strf37 = .Range("AK2:AK1002")
strf38 = .Range("AL2:AL1002")
strf39 = .Range("AM2:AM1002")
strf40 = .Range("AN2:AN1002")
strf41 = .Range("AO2:AO1002")
strf42 = .Range("AP2:AP1002")
strf43 = .Range("AQ2:AQ1002")
strf44 = .Range("AR2:AR1002")
strf45 = .Range("AS2:AS1002")
strf46 = .Range("AT2:AT1002")
strf47 = .Range("AU2:AU1002")
strf48 = .Range("AV2:AV1002")
strf49 = .Range("AW2:AW1002")
strf50 = .Range("AX2:AX1002")
End With
strf = Array(strf1, strf2, strf3, strf4, strf5, strf6, strf7, strf8, strf9, strf10, strf11, strf12, strf13, strf14, strf15, strf16, strf17, strf18, strf19, strf20, strf21, strf22, strf23, strf24, strf25, strf26, strf27, strf28, strf29, strf30, strf31, strf32, strf33, strf34, strf35, strf36, strf37, strf38, strf39, strf40, strf41, strf42, strf43, strf44, strf45, strf46, strf47, strf48, strf49, strf50)
End Sub
I extracted the values by copying all of the strf(x) = values line from your class file into the worksheet, starting at A2, and then running this code on it to setup a grid of values
Sub movem()
Dim targetcol As Long
Dim lastrow As Long
Dim lastcol As Long
Dim i As Long
Application.ScreenUpdating = False
With ActiveSheet
targetcol = 3
lastrow = .Cells(.Rows.Count, "A").End(xlUp).Row
.Range("B1").Value = "strf1"
.Range("B2").Resize(lastrow - 1).FormulaR1C1 = "=--MID(RC[-1],FIND(""="",RC[-1])+2,99)"
For i = 1003 To lastrow Step 1001
.Cells(i, "A").Resize(1000, 2).Cut .Cells(2, targetcol)
targetcol = targetcol + 2
Next i
lastcol = .Cells(2, .Columns.Count).End(xlToLeft).Column
With .Range("A2").Resize(1001, lastcol)
.Value = .Value
End With
For i = lastcol - 1 To 1 Step -2
.Columns(i).Delete
Next i
lastcol = .Cells(2, .Columns.Count).End(xlToLeft).Column
.Range("A1").AutoFill Destination:=.Range("A1").Resize(1, lastcol), Type:=xlFillDefault
.Rows(1).Font.Bold = True
Debug.Print " With Activesheet"
Debug.Print ""
For i = 1 To lastcol
Debug.Print " " & .Cells(1, i).Value & " = .Range(""" & .Cells(2, i).Resize(1001).Address(False, False) & """)"
Next i
Debug.Print " End With"
End With
Application.ScreenUpdating = True
End Sub