I dont have time right now, but maybe some one else can assist you, this code can be modified to change all the blocks in the drawing at once, you just need to change the stuff in red to match the information you need to change. the first "1" is the tag string name, the second is the value to be input into that tag. Like I said, I dont have time right now to test setting it up for global update, but maybe someone else can.
Code:
(defun c:rn ()
(setq filetype (getvar "dwgname"))
(setq Ent (ssname (ssget "_x" '((0 . "insert")(2 . "TBL14")))0))
(setq EntData (entget Ent))
(if
(and
(= (cdr (assoc 0 EntData)) "INSERT")
(= (strcase (cdr (assoc 2 EntData))) "TBL14")
(not
(foreach Att (vlax-invoke (vlax-ename->vla-object Ent) 'GetAttributes)
(if (= (vla-get-TagString Att) "1")
(setq tmpList (cons Att (vla-get-TextString Att)))
)
);end foreach
);END NOT
);END AND
(vla-put-TextString (car tmpList) "1")
(vla-Update (car tmpList))
);end if
);end defun