You are welcome anytime.
Please try the following and hope it would meet your needs.
Code:
(defun c:crtchglay (/ i l n s x c y r d e)
;; Tharwat - Date: 08.Mar.2018 ;;
(if
(and (setq s (ssget "_:L" '((8 . "~*XXX-CHANGED0"))))
(setq r
(getstring
"\nSpeficy a number from [1-9] or [01-09] <enter to exit> :"
)
)
(or (numberp (read r))
(progn (princ "\nInvalid input!. Please try again.") nil)
)
(setq y (and (= (strlen r) 2) (wcmatch r "0*"))
c (acad_colordlg 256)
)
)
(repeat (setq i (sslength s))
(setq x (ssname s (setq i (1- i)))
e (entget x)
l (assoc 8 e)
n (strcat (cdr l) "_XXX-CHANGED" r)
d (list '(290 . 1) (cons 62 c))
r (1+ (atoi r))
r (if (and y (< r 10))
(strcat "0" (itoa r))
(itoa r)
)
)
(if (tblsearch "LAYER" n)
(entmod (append (entget (tblobjname "LAYER" n)) d))
(entmake (append (list '(0 . "LAYER")
'(100 . "AcDbSymbolTableRecord")
'(100 . "AcDbLayerTableRecord")
(cons 2 n)
'(70 . 0)
)
d
)
)
)
(entmod (subst (cons 8 n) l e))
)
)
(princ)
)