Hi Yin,
There is something you can try:
Dim SQUsrFields As UserFields = oSQ.Lines.UserFields.Fields
Dim PSQUsrFields As UserFields = pSQ.Lines.UserFields.Fields
For p = 0 To SQUsrFields.Count - 1
SQUsrFields.Item(SQUsrFields.Item(p).Name).Value = PSQLUsrFields.Item(p).Value
End If
Next
You should always save a direct reference to collections (Fields, cells, etc...) and use that reference instead of always pulling the entire collection back from the original object.
If this still doesn't cut it you can use Xml to update the SQ.
Good luck.
Best regards,
Pedro Magueija