'******************************************************************************* '* Decode '* Decodifica el Valor pasado como parámetro ValorADecodificar de acuerdo a los valores ' pasados en matrizValores. ' Permite pasar valores de cualquier tipo, puesto que los parámetros y la propia ' Funcion están declarados como Variant. '* Argumentos: --> valorADecodificar: El valor que se quiere decodificar. Se puede pasar directamente ' el valor que sea o la referencia a un control o un campo de una tabla... ' --> valorDefecto: El valor que se devolverá en caso de que no se ' encuentre coincidencia entre valor y matrizValores ' --> matrizValores: matriz donde se deben introducir por parejas (Valor ' a decodificar, valor decodificado) todos los posibles ' valores del campo o variable que se desea decodificar. '* uso: Decode Me.Provincia, "Otras", 18, "Granada", 28, "Madrid" '* Marciano Almohalla 04/10/2006 22:00 '******************************************************************************* Function Decode(valorADecodificar As Variant, _ valorDefecto As Variant, _ ParamArray matrizValores() As Variant) As Variant Dim i As Integer If (UBound(matrizValores) + 1) Mod 2 > 0 Then MsgBox "Recuerde que en matrizValores debe introducir siempre" & Chr(13) & _ "parejas de valores (Valor del Campo, Valor Decodificado)", _ vbOKOnly + vbCritical, "NUMERO DE PARAMETROS INCORRECTO" Exit Function End If For i = 0 To UBound(matrizValores) If matrizValores(i) = valorADecodificar Then Decode = matrizValores(i + 1) Exit Function End If i = i + 1 Next i Decode = valorDefecto End Function