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