2.Dim c as Control3.On Local Error Resume Next 4.For Each c In DatosSoldador.Controls ' ó Me.Controls5. If TypeName(c)= "Transparent" Then 6. c.ZOrder (1)7. End If8.Next
-------------------arriba, en la declaración generalDim Trans As Scripting.Dictionary------------------------------------en el loadDim c As Control, k As Long Set Trans = New Scripting.Dictionary For Each c In DatosSoldador.Controls ' ó Me.Controls If TypeName(c) = "Transparent" Then k = k + 1 Call Trans.Add(CStr(k), c) End If Next Call EnviarAlfondo-----------------------------------y el Sub EnviarAlFondoPrivate Sub EnviarAlfondo() Dim c As Object, k As Long For k = 1 To Trans.Count Set c = Trans.Item(CStr(k)) c.ZOrder (1) ' c.BackColor = vbRed ' he comentado la línea por que efectivamente da error. NextEnd Sub