We are confusing UserForms with "forms" again.
Let's please clarify.
Is this a UserForm, or a "form" IN a document? Is the checkbox a formfield or ActiveX control IN the document, or a checkbox on a UserForm?
From the post, I am gathering it is a checkbox in the document - this is NOT a UserForm. In which case, Skip's code does not apply. The .Visible property does not apply to textboxes (either ActiveX controls OR formFields) in a document. The question is: is the textbox a FormField textbox or an ActiveX textbox?
If I am correct (it is NOT a UserForm), the solution is to use an ActiveX textbox. While it does not have a .Visible property, it DOES have a resizing capability. In other words, you can make logic like:
If checkbox value is TRUE (checked)
textbox height = 200 (or whatever fits for you)
textbox width = 300 (or whatever fits for you)
Else ' checkbox value is FALSE (unchecked)
textbox height = 2
textbox width = 2
You will have to experiment a little bit. Depending on screen resolution a line such as Textbox1.Height = 1 may actually return something like 1.46. So any logic that explicitly checks for "1" may fail. Better to something like > 0 AND < 2. same goes for Width.
Essentially, you can shrink the textbox to much much less than a single character. Setting the border to nothing make the textbox so tiny, that is for all practical purposes it is invisible. It can be resized back up for user input at your command.
Code for resizing should be placed in the ThisDocument module. It can be run from other module, but it is so much easy in ThisDocument, because all the events for ActiveX controls are accessible through normal dropdown menus.
Gerry