as about you last questions:
I guess you're aim is listing blocks in Excel sheet following their left-to-right position in the drawing
well, items order in a selectionsets follows their creation time in the drawing
if you want to have blocks listed in their x-coordinate left-to-right order, you must add code to get and handle blockreferences "InsertionPoint" property (whose "x" coordinate is InsertionPoint(0))

Finally I'm afraid my advices are poor or poorly given, or you don't follow them actually.
So I'll stop giving them, after this last two ones:
a) you're not through your code logic yet.
It all seems to work only because attributes names listing order you set in Excel sheet ("TAG1", "TERM01", and so on...) happens to be the same as blocks one.
Just try swapping two of your code lines, for instance:
Code:
...
  .Cells(1, 4).Value = "TAG1"
  .Cells(1, 3).Value = "TERM01"
...
then run your Macro and see the results
I'd warmly suggest considering my last point 5) and carefully debugging stepping through the code

b) after every
Code:
On Error Resume Next
resume proper error Handling with
Code:
On Error GoTo 0
as soon as you don't need ignoring error anymore, which is almost always right after the statement following
Code:
On Error Resume Next
one