You could use a boolean value (?)
Why don't you just make ValuePrivate Boolean and assign it the Boolean converted value of the checkbox?
Code:
ValuePrivate = CBool(chkPrivate)
ValuePrivate will be TRUE if chkPrivate is Checked or Greyed, and FALSE if chkPrivate is UnChecked
Hope that helps,
You could use the Immediate If statement
Immediate if statements look cool but they run significantly slower than regular if/else statements. This also allows you to keep ValuePrivate as a string, which I assume was part of your requirement.
Code:
ValuePrivate = IIf(chkPrivate = 0, "off", "on")
' That is the shortest you can get...