Crear función para colorear un textbox deacuerdo a condición..

Ojala me puedan ayudar en el siguiente problema que tengo.

Tengo un textbox en un formulario al que he llamado "domfis".

Deseo establecer una condición para el color de fondo de este textbox, por ejemplo:

Si una celda cuyo numero de fila y columna que es definida por variable, si esta esta celda esta vacia, el color del textbox es RGB(255,124,128), si la celda tiene algun dato, el color del textbox es RGB(246,255,159).

Para ello queria establecer una funcion que presento a continuacion:

Function colorcel(x As Double, yAs Double) As Long
If Cells(x, y) = "" Then
colorcel = RGB(255, 255, 255)
Else
colorcel = RGB(246, 255, 159)
End If
End Function

Aquí colorcel arrojaría el color de acuerdo a la condición, el tipo de dato que le he dado a colorcel es Long, por ser un color, pero no se si estara bien definido.

Luego, ya el codigo en el formulario seria el siguiente para colorear el textbox "domis":

domis.Backcolor = colorcel(fil, col)

Don fil y col son variables.

El problema es que cuando ejecuto el código no me colorea de ningún color el textbox, entonces creo que el problema podría ser el tipo de dato que le estoy dando a la función colorcel, (tipo long).

Ojala me pueda ayudar desde ya gracias por la respuesta.

1 respuesta

Respuesta
1

Las funciones no se llaman como a una subrutina, sino con otro tipo de instrucciones.

Pero lo que necesitas es una subrutina, que puede estar dentro del Userform o en un modulo. Si la colocas dentro de la subrutina, definiras las variables tal como se pueden observar en la imagen. Si colocas la subrutina de color en un modulo, las variables se definen al inicio del modulo como Public.

Para este ejemplo, se colorea el textbox al clic del UF... pero ya sabras donde colocarlas. Cualquier duda, comentame donde se valorizan las variables y cuando querras cambiar de color al textbox.

Sdos y si el tema queda resuelto no olvides valorar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas