-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsheetcomb.ado
45 lines (32 loc) · 956 Bytes
/
sheetcomb.ado
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
*! version 1.0.0 Mehrab Ali 07jul2022
cap prog drop sheetcomb
prog sheetcomb
syntax using/, [key(varlist) force ///
CELLRAnge(string) ///
FIRSTrow ///
/// ALLstring(string) ///
ALLstring ///
clear]
if !mi("`cellrange'") loc cellrange = "cellrange(`cellrange')"
/*
if !mi("`allstring'") loc `allstring' = "allstring(`allstring')"
*/
clear
tempfile allsheet
save `allsheet', emptyok
qui import excel "`using'", describe
qui forval x=1/`=r(N_worksheet)' {
loc sh_`x' = "`=r(worksheet_`x')'"
}
forval x=1/`=r(N_worksheet)' {
import excel "`using'", sh("`sh_`x''") `clear' `firstrow' `cellrange' `allstring'
if mi("`varlist'") {
append using `allsheet', `force'
}
else if !mi("`varlist'") {
merge m:m `varlist' using `allsheet', nogen `force'
}
save `allsheet', replace
}
u `allsheet', clear
end