Sub toggle()
Dim myDocument As Worksheet
Dim wshvar As Worksheet
Dim rtarget As Variant
Dim nextrow As Integer
Set wshvar = Worksheets("varhold")
Set myDocument = Worksheets("Workorders")
Set rtarget = myDocument.Shapes(Application.Caller)
With rtarget
If .Fill.ForeColor.RGB = RGB(255, 255, 255) Then 'OFF to ON
.Fill.ForeColor.RGB = RGB(255, 0, 0)
MsgBox "Caller: " & rtarget.Name
Else
.Fill.ForeColor.RGB = RGB(255, 255, 255) 'ON to OFF
MsgBox "OFF"
End If
End With
If rtarget.Name = "CUEALL" Then
myDocument.Shapes.Range(Array("CUEDR", "CUEDT", "CUEFR", "CUEFT", "CUECR", "CUECT")).Fill.ForeColor.RGB = RGB(255, 0, 0)
nextrow = Cells(Rows.Count, "T").End(xlUp).Row + 1
wshvar.Range("T3:T" & nextrow) = Application.Transpose(Array("CUEDR", "CUEDT", "CUEFR", "CUEFT", "CUECR", "CUECT"))
ElseIf rtarget.Name = "CULALL" Then
myDocument.Shapes.Range(Array("CULDR", "CULDT", "CULFR", "CULFT", "CULCR", "CULCT")).Fill.ForeColor.RGB = RGB(255, 0, 0)
ElseIf rtarget.Name = "HPEALL" Then
myDocument.Shapes.Range(Array("HPEDR", "HPEDT", "HPEFR", "HPEFT", "HPECR", "HPECT")).Fill.ForeColor.RGB = RGB(255, 0, 0)
ElseIf rtarget.Name = "HPLALL" Then
myDocument.Shapes.Range(Array("HPLDR", "HPLDT", "HPLFR", "HPLFT", "HPLCR", "HPLCT")).Fill.ForeColor.RGB = RGB(255, 0, 0)
ElseIf rtarget.Name = "RPEALL" Then
myDocument.Shapes.Range(Array("RPEDR", "RPEDT", "RPEFR", "RPEFT", "RPECR", "RPECT")).Fill.ForeColor.RGB = RGB(255, 0, 0)
ElseIf rtarget.Name = "RPLALL" Then
myDocument.Shapes.Range(Array("RPLDR", "RPLDT", "RPLFR", "RPLFT", "RPLCR", "RPLCT")).Fill.ForeColor.RGB = RGB(255, 0, 0)
ElseIf rtarget.Name = "WPEALL" Then
myDocument.Shapes.Range(Array("WPEDR", "WPEDT", "WPEFR", "WPEFT", "WPECR", "WPECT")).Fill.ForeColor.RGB = RGB(255, 0, 0)
Else
myDocument.Shapes.Range(Array("WPLDR", "WPLDT", "WPLFR", "WPLFT", "WPLCR", "WPLCT")).Fill.ForeColor.RGB = RGB(255, 0, 0)
End If
End Sub