Public Sub ClearPublicVar(ParamArray PublicVar() As Variant)
Dim P As Long
For P = LBound(PublicVar) To UBound(PublicVar)
Select Case VarType(PublicVar(P))
Case Is >= vbArray: Erase PublicVar(P)
Case vbBoolean: PublicVar(P) = False
Case vbDouble, vbLong, vbInteger, vbByte: PublicVar(P) = 0
End Select: Next P
End Sub
Sub test()
Dim X As Boolean, Y As Double
X = True
Y = 3.141592
ClearPublicVar X, Y
MsgBox X & ", " & Y
End Sub