NoSparks,
It actually works without creating the second worksheet, and I have tested it perhaps not rigorously, but extensively.
I have actually adapted your code (i have never coded before) to include other form control objects, as follows:
Private Sub Worksheet_Calculate()
Dim ws As Worksheet
Set ws = Sheets("Price Calculator")
If Range("A11") < 2 Then
ws.Shapes("Drop Down 11").Visible = False
ws.Shapes("Drop Down 12").Visible = False
ws.Shapes("Drop Down 13").Visible = False
ws.Shapes("Spinner 29").Visible = False
Else
ws.Shapes("Drop Down 11").Visible = True
ws.Shapes("Drop Down 12").Visible = True
ws.Shapes("Drop Down 13").Visible = True
ws.Shapes("Spinner 29").Visible = True
End If
If Range("A11") < 3 Then
ws.Shapes("Drop Down 17").Visible = False
ws.Shapes("Drop Down 18").Visible = False
ws.Shapes("Drop Down 19").Visible = False
ws.Shapes("Spinner 31").Visible = False
Else
ws.Shapes("Drop Down 17").Visible = True
ws.Shapes("Drop Down 18").Visible = True
ws.Shapes("Drop Down 19").Visible = True
ws.Shapes("Spinner 31").Visible = True
End If
If Range("C9") = 0 Then
ws.Shapes("Button 51").Visible = False
ws.Shapes("Button 52").Visible = False
ws.Shapes("Drop Down 42").Visible = False
ws.Shapes("Spinner 41").Visible = False
Else
ws.Shapes("Button 51").Visible = True
ws.Shapes("Button 52").Visible = True
ws.Shapes("Drop Down 42").Visible = True
ws.Shapes("Spinner 41").Visible = True
End If
End Sub
This works a treat!!
What everyone else on internet forums got 'wrong' is they had it down as a 'change' event, not a 'calculation' event.
You are officially a scholar, gentleman, and a genius!!
With great thanks!!
|