The process will be the same, but you will have to enter the elevation for each line
(defun c:ChangeElevation (/ ss elevation i ent dataEnt)
(setq elevation (getreal "\nDigite a nova elevação: ")) ; Solicita ao usuário a nova elevação
(setq ss (ssget)) ; Solicita ao usuário que selecione os objetos
(if ss
(progn
(setq i 0)
(while (< i (sslength ss))
(setq ent (ssname ss i))
(setq dataEnt (entget ent))
(if (assoc 38 dataEnt)
(progn
(setq dataEnt (subst (cons 38 elevation) (assoc 38 dataEnt) dataEnt)) ; Altera a elevação
(entmod dataEnt) ; Aplica a alteração
)
(progn
(setq dataEnt (append dataEnt (list (cons 38 elevation)))) ; Adiciona elevação se não existir
(entmod dataEnt) ; Aplica a alteração
)
)
(setq i (1+ i))
)
)
)
(princ)
)
good job for you