Thank you, try this in a copy of your workbook.
1. Right click the sheet name tab and choose "View Code".
2. Copy and Paste the code below into the main right hand pane that opens at step 1.
<font face=Courier New><br><SPAN style="color:#00007F">Private</SPAN> <SPAN style="color:#00007F">Sub</SPAN> Worksheet_Change(<SPAN style="color:#00007F">ByVal</SPAN> Target <SPAN style="color:#00007F">As</SPAN> Range)<br> <SPAN style="color:#00007F">If</SPAN> <SPAN style="color:#00007F">Not</SPAN> Intersect(Target, Range("H15")) <SPAN style="color:#00007F">Is</SPAN> <SPAN style="color:#00007F">Nothing</SPAN> <SPAN style="color:#00007F">Then</SPAN><br> ActiveSheet.TextBox1.Visible = (Range("A7").Value < 40)<br> <SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">If</SPAN><br><SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">Sub</SPAN><br><br></FONT>
In the vba window, double click the ThisWorkbook module of your workbook in the left hand pane and paste the following code there. Adjust the sheet name in the code as required.
<font face=Courier New><br><SPAN style="color:#00007F">Private</SPAN> <SPAN style="color:#00007F">Sub</SPAN> Workbook_Open()<br> <SPAN style="color:#00007F">With</SPAN> Sheets("Sheet1") <SPAN style="color:#007F00">'<- Sheet with Text box</SPAN><br> .TextBox1.Visible = (.Range("A7").Value < 40)<br> <SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">With</SPAN><br><SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">Sub</SPAN><br></FONT>
Now when the workbook is opened, the code should check A7 and adjust the visibility of the TextBox. Also, if cell H15 is altered the check should also be performed.