When I copy and paste your code into a sub and run it, I get an error message stating that the variable ws is not defined.; When I put in a Dim statement to define it as a workspace variable, the code runs OK until this statement:
tmplabel = Array(lblchk1, lblchk2, lblchk3, lblchk4, lblchk5)...