Hi

I have built a readable codebook using the describe command as follows:

Code:
use "$mastData/Dataset1.dta", clear
describe, replace
save "$mastData/Codebook.dta", replace
Is there an easy way to use the codebook to label variables with the same name in another dataset? Likewise, to use the codebook to apply labels to values?

I can write something to label the variables and labels in a new file (Dataset2.dta) with those of the original file (Dataset1.dta), but I don't think it's the most efficient way & want to know if I'm missing an easier way/command.

Code:
* save val and var labels
use "$mastData/Dataset1.dta", clear
label save using "$mastData/_vallabels", replace
describe, replace
save "$mastData/Codebook.dta", replace

* write label do file
use "$mastData/Codebook.dta", clear
// dofile
tempname fh
local N = c(N)
// create a new do-file
file open `fh' using "$mastData/_labels.do", write replace
forvalues i = 1/`N' {
    // variable labels
    file write `fh' "cap label variable `= name[`i']' "
    file write `fh' `""`= varlab[`i']'""' _newline
    // value labels
    file write `fh' "cap label values `= name[`i']' "
    file write `fh' `""`= vallab[`i']'""' _newline    
}
file close `fh'

* label new dataset
use "$mastData/Dataset2.dta", clear
do "$mastData/_vallabels"
do "$mastData/_labels.do"
Thank you for any help!