Error de compiliación: No coinciden los tipos

Me encontré un código para que me marque cuales controles se encuentran vacíos, pero al momento de ejecutar el botón se muestra el siguiente mensaje:

Dicho ejemplo lo utilizaron en un Excel, en mi caso lo estoy usando en un Access.

En el módulo se encuentra el siguiente código:

Option Explicit
Option Private Module
Public ControlesVacios

Sub ValidarVacios()
Dim FormActivo As UserForm
Dim miControl As Control

Set FormActivo = VBA.UserForms(0)
ControlesVacios = Empty

For Each miControl In FormActivo.Controls
If TypeOf miControl Is MSForms.TextBox Then
If miControl.Value = "" Then
ControlesVacios = ControlesVacios + 1
miControl.BackColor = VBA.RGB(237, 125, 49)
Else
miControl.BackColor = VBA.vbWhite
End If
Else
If TypeOf miControl Is MSForms.ComboBox Then
If miControl.Value = "" Then
ControlesVacios = ControlesVacios + 1
miControl.BackColor = VBA.RGB(237, 125, 49)
Else
miControl.BackColor = VBA.vbWhite
End If
Else
'Nada
End If
End If
Next miControl

El otro error que me da es este:

En lo que investigué, decían que era por falta de referencias, las agregué pero aún continua el error.

Estas son las referencias que tengo habilitadas:

Agradezco si me pueden ayudar con ese error que se esta presentando, ya que se esta marcando ">" y no entiendo a que se debe.

1 Respuesta

Respuesta
2

Que conste que el código que tienes puesto apenas entiendo que hace, pero si tengo un formulario con algunos controles vacíos

Cuando pulso el botón

El código del botón es

Private Sub Comando23_Click()
Dim a As Byte
a = 0
For Each Control In Form.Controls
If Control.ControlType = acTextBox Then
If IsNull(Control) Or Control = "" Then
a = a + 1
Control.BackColor = 255
End If
End If
Next
MsgBox "Hay " & a & " controles vacíos o nulos", vbOKOnly, "Que no te enteras"
End Sub

Pongo sólo controles textbox, porque por construcción los combinados no tiene color de fondo( amenos que lom construyas tu)+

¡Gracias! Ya se lo adapte a mi Access y funciona a la perfección!!

Gracias por tu rápida respuesta!!!

hola 

Tu ejemplo me sirve para otro botón del formulario, pero necesito colocar un texto en los cuadros combinados que estén vacíos, pero no encuentro algo que me indique si después del "control." existe alguna propiedad

lo puse de la siguiente forma, pero no hace nada:

Control = "No Indica"

Agradezco la ayuda que pueda brindar

Si quieres que en un combinado te aparezca un valor, tiene que usar la propiedad Value (sin embargo, en los cuadros de texto no), por ejemplo

me.elegirpais.value="España"

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas