I have a code that copies non-contiguous cells and pastes into the next empty row of another sheet. I've copied the code and added it to another workbook, altered the necessary bits (sheet names and cells) but it doesn't work. I really cannot understand why. Any help or thoughts?

Private Sub CommandButton1_Click()
'Copy before cal data and paste

Dim ws As Worksheet, bi As Byte, vData(1 To 12) 'sets range for summary table
Set ws = Sheets("ENTER DATA")
For bi = 1 To 12
    vData(bi) = Application.Choose(bi, ws.Range("H1"), ws.Range("C1"), ws.Range("D8"), ws.Range("D10"), ws.Range("K8"), ws.Range("d12"), ws.Range("k6"), ws.Range("k14"), ws.Range("k10"), ws.Range("k12"), ws.Range("N6"), ws.Range("o8"))
Next bi
Sheets("SUMMARY").Cells(Rows.Count, "B").End(xlUp).Offset(1).Resize(, 12).Value = vData

'copy after cal data and paste
                    
Dim vs As Worksheet, vi As Byte, sData(1 To 12)
Set vs = Sheets("ENTER DATA")
For vi = 1 To 12
    sData(vi) = Application.Choose(vi, vs.Range("H1"), vs.Range("C1"), vs.Range("D19"), vs.Range("D21"), vs.Range("K19"), vs.Range("d23"), vs.Range("k6"), vs.Range("k25"), vs.Range("k21"), vs.Range("k23"), vs.Range("n19"), vs.Range("o21"))
Next vi
Sheets("SUMMARY").Cells(Rows.Count, "B").End(xlUp).Offset(1).Resize(, 12).Value = sData
                    
'copy the data for export to word

Dim ps As Worksheet, pi As Byte, pData(1 To 6)
Set ps = Sheets("ENTER DATA")
For pi = 1 To 6
    pData(pi) = Application.Choose(pi, ps.Range("H1"), ps.Range("C1"), ps.Range("N6"), ps.Range("N19"), ps.Range("O21"), ps.Range("B30"))
Next pi
Sheets("TEST").Cells(Rows.Count, "B").End(xlUp).Offset(1).Resize(, 6).Value = pData