program define missvar, rclass *! 1.2 GMH Feb 13 01 local varlist "required existing" parse "`*'" parse "`varlist'", p(" ") quietly count local n = _result(1) while "`1'"~="" { quietly count if missing(`1') if `n'==_result(1) { quiet drop `1' local dropped "`dropped' `1'"} macro shift } local num: word count `dropped' if `num' >0 { di in gr "-missvar- dropped " in yel "`num' " in gr "variables" } return local dropped "`dropped'" return local num "`num'" end