No, it won't work with ADDSELECTED + Cancel, but I've prepared something for you :
(defun c:cc ( / LM:cecolorfromentity LM:true->rgb KGA_Sys_Transparency_Num_To_Perc KGA_Sys_Transparency_Perc_To_Num s e ex lay )
;; CECOLOR from Entity - Lee Mac
(defun LM:cecolorfromentity ( ent / enx tmp )
(setvar 'cecolor
(cond
( (cdr (assoc 430 (setq enx (entget ent)))) )
( (setq tmp (cdr (assoc 420 enx)))
(apply 'strcat (mapcar '(lambda ( a b ) (strcat a (itoa b))) '("RGB:" "," ",") (LM:true->rgb tmp)))
)
( (null (setq tmp (cdr (assoc 62 enx))))
"BYLAYER"
)
( (zerop tmp)
"BYBLOCK"
)
( (itoa tmp) )
)
)
)
;; True -> RGB - Lee Mac
;; Args: c - [int] True Colour
(defun LM:true->rgb ( c )
(mapcar '(lambda ( x ) (lsh (lsh (fix c) x) -24)) '(8 16 24))
)
; (KGA_Sys_Transparency_Num_To_Perc 33554661) => 0.1 (= 10%)
; (KGA_Sys_Transparency_Num_To_Perc (cdr (assoc 440 (entget (car (entsel))))))
(defun KGA_Sys_Transparency_Num_To_Perc ( num )
(* 0.01 (fix (/ (- 33554687 num) 2.55)))
)
; (KGA_Sys_Transparency_Perc_To_Num 0.1) => 33554661
(defun KGA_Sys_Transparency_Perc_To_Num ( perc )
(fix (- 33554687 (* perc 255)))
)
(prompt "\nPick source entity with desired layer, linetype, ltscale, lweight, transparency and color for current new usage...")
(setq s (ssget "_+.:E:S"))
(while (not s)
(prompt "\nMissed... Try picking source entity with desired layer, linetype, ltscale, lweight, transparency and color for current new usage again...")
(setq s (ssget "_+.:E:S"))
)
(if (/= 4 (logand 4 (cdr (assoc 70 (tblsearch "LAYER" (setq lay (cdr (assoc 8 (setq ex (entget (setq e (ssname s 0))))))))))))
(setvar 'clayer lay)
)
(if (assoc 6 ex)
(setvar 'celtype (cdr (assoc 6 ex)))
)
(if (assoc 48 ex)
(setvar 'celtscale (cdr (assoc 48 ex)))
)
(if (assoc 370 ex)
(setvar 'celweight (cdr (assoc 370 ex)))
)
(if (assoc 440 ex)
(setvar 'cetransparency (* 100 (KGA_Sys_Transparency_Num_To_Perc (cdr (assoc 440 ex)))))
(setvar 'cetransparency 0)
)
(LM:cecolorfromentity e)
(princ)
)
HTH.
M.R.