Se Repite una Función Varias veces Macros Excel
Sr. Dante,
En el Ejercicio anterior usted me ayudo en una macro de consultar producto que es esta:
Function consultarProducto(codigo As String, col As Integer) As String Dim ultLinea As Long Dim ultLineaDatos As Long Dim busquedaFilaDatos As Range Dim rangoBusqueda As String Dim filaRegistro As Long ultLineaDatos = Sheets("ALM_SAN_JOSE").Range("J" & Rows.Count).End(xlUp).Row rangoBusqueda = "J8:J" & ultLineaDatos Set busquedaFilaDatos = Sheets("ALM_SAN_JOSE").Range(rangoBusqueda).Find(codigo, lookat:=xlWhole) If busquedaFilaDatos Is Nothing Then consultarProducto = "" MsgBox "El codigo ingresado no existe", vbCritical, "Resultado" frmEntradasSalidas.txtcodigo = "" Else filaRegistro = busquedaFilaDatos.Row consultarProducto = Sheets("ALM_SAN_JOSE").Cells(filaRegistro, col) End If End Function
Y lo que hice fue obtener los valores de varias columnas:
Private Sub txtcodigo_AfterUpdate() txtdescripcion = modFormulario.consultarProducto(txtcodigo, 11) txtcantidad = modFormulario.consultarProducto(txtcodigo, 12) txtmarca = modFormulario.consultarProducto(txtcodigo, 13) txtmodelo = modFormulario.consultarProducto(txtcodigo, 14) txtanio = modFormulario.consultarProducto(txtcodigo, 15) txtproveedor = modFormulario.consultarProducto(txtcodigo, 16) txtfecha = modFormulario.consultarProducto(txtcodigo, 17) txtguia = modFormulario.consultarProducto(txtcodigo, 18) End Sub
Pero ahora cuando hago una busqueda que no existe: por ejemplo le pongo 0 en el campo codigo, la macro me repite 8 veces el mensaje MsgBox "El codigo ingresado no existe", vbCritical, "Resultado".
Las 8 veces que me repite ese mensaje es por la cantidad de variables que tengo en el Private Sub txtcodigo_AfterUpdate().
Este es mi formulario:
1 respuesta
Respuesta de Dante Amor
2