Problema en agregar más registros Excel macro
Tengo un formulario donde agrego el código de cierto articulo y me retorna parámetros (descripción y precio) eso viene desde otra hoja llamada "Articulo". Al momento de seleccionar un registro superior al F026 me retorna solo el precio, después de eso no me retorna nada en las celdas como debería hacerlo (F005, descripción y precio). Mi pregunta es como podría hacer para que me tomara más cantidad de código y me retorne lo necesario en las celdas. En caso de faltar información pueden enviarme o pedirme el excel a mi correo [email protected]
La celda descripcion la siguiente funcion :=SI.ERROR(BUSCARV(B19;Articulos!$B$5:$D$29;2;0);"")
La celda precio tiene la siguiente funcion : =SI.ERROR(BUSCARV(B19;Articulos!$B$5:$D$37;3;0);"")
------------------------------------------------------------------------------------------------------
Private Sub LISTA_ARTICULOS_DblClick(ByVal Cancel As MSForms.ReturnBoolean) 'Colocar el Name del cuadro de lista
Application.ScreenUpdating = False
On Error GoTo ERR1:
L = LISTA_ARTICULOS.List(LISTA_ARTICULOS.ListIndex, 0) 'Colocar el Name del cuadro de lista dos veces
Sheets("ARTICULOS").Select 'Hoja donde se van a extraer los articulos
Range("B5").Select 'Celda donde empieza el rango de los articulos que se van a extraer
While ActiveCell.Value <> "" And ActiveCell.Value <> Val(L) And ActiveCell.Value <> L
ActiveCell.Offset(1, 0).Select
Wend
If ActiveCell.Value = "" Then
Else
ActiveCell.Offset(0, 0).Select 'el segundo cero es la culumna donde extraeremos la información.
NOMB1 = ActiveCell.Value
If DON = "FACTURA" Then 'el texto entre comillas debe ser igual al de la hoja que se pegara la información y tambien debe colocarce talcual en la celda A1 de la hoja que se abrira el userform
Sheets("FACTURA").Select 'Hoja donde se pegará la información
Range("B19").Select 'Celda donde se pegará la información
While ActiveCell.Value <> ""
ActiveCell.Offset(1, 0).Select 'dejar igual
Wend
ActiveCell.Value = NOMB1
End If
End If
If VARIOS = False Then 'Este es el Name que tiene la casilla de verificación
Unload Me
End If
ERR1:
Application.ScreenUpdating = True
End Sub
-----------------------------------------------------------------------------------------------------------------
Private Sub CODIGO_ARTICULOS_Change() 'Colocar el Name del cuadro de texto
Application.ScreenUpdating = False
Sheets("ARTICULOS").Select 'Hoja de la lista de articulos
Range("B5").Select 'Primera celda del rango de la base de los articulos
LISTA_ARTICULOS.Clear 'Colocar el Name del cuadro de lista
While ActiveCell.Value <> ""
M = InStr(1, UCase(ActiveCell.Value), UCase(CODIGO_ARTICULOS.Text)) 'Colocar el Name del cuadro de texto en cuestión
If M > 0 Then
'Remplazar LISTA_ARTICULOS por el Name del cuadro de lista que usted tiene
LISTA_ARTICULOS.ColumnCount = 3 'Colocar la cantidad de columna que tendrá el cuadro de lista
LISTA_ARTICULOS.AddItem
LISTA_ARTICULOS.List(LISTA_ARTICULOS.ListCount - 1, 0) = ActiveCell.Value 'Repetir esta y la siguiente linea para cada columna que se desee tener.
ActiveCell.Offset(0, 1).Select
LISTA_ARTICULOS.List(LISTA_ARTICULOS.ListCount - 1, 1) = ActiveCell.Value
ActiveCell.Offset(0, 1).Select
LISTA_ARTICULOS.List(LISTA_ARTICULOS.ListCount - 1, 2) = ActiveCell.Value
ActiveCell.Offset(0, -2).Select 'Colocar la ultima columna en negativo
End If
ActiveCell.Offset(1, 0).Select
Wend
Sheets(DON).Select
Range("A1").Select
Application.ScreenUpdating = True
End Sub
------------------------------------------------------------------------------------------------------------------------
Private Sub UserForm_Activate()
Application.ScreenUpdating = False
Range("A1").Select
DON = ActiveCell.Value
Sheets("ARTICULOS").Select 'Colocar hoja de donde se van a extraer los articulos
Range("B5").Select 'Colocar la celda de donde empieza el rango de los articulos
While ActiveCell.Value <> ""
ActiveCell.Offset(0, 10).Select 'Dejar igual
If DON2 <> "MODART" Then
If ActiveCell.Value = 0 Then
ActiveCell.Offset(0, -10).Select
'Remplazar LISTA_ARTICULOS por el Name del cuadro de lista
LISTA_ARTICULOS.ColumnCount = 3 'Colocar la cantidad de columna que tendrá el cuadro de lista
LISTA_ARTICULOS.AddItem
LISTA_ARTICULOS.List(LISTA_ARTICULOS.ListCount - 1, 0) = ActiveCell.Value
ActiveCell.Offset(0, 1).Select
LISTA_ARTICULOS.List(LISTA_ARTICULOS.ListCount - 1, 1) = ActiveCell.Value
ActiveCell.Offset(0, 1).Select
LISTA_ARTICULOS.List(LISTA_ARTICULOS.ListCount - 1, 2) = ActiveCell.Value
ActiveCell.Offset(1, -2).Select 'Colocar la ultima columna en negativo
Else
ActiveCell.Offset(1, -10).Select
End If
Else
'Remplazar LISTA_ARTICULOS por el Name del cuadro de lista
ActiveCell.Offset(0, -10).Select
LISTA_ARTICULOS.ColumnCount = 3 'Colocar la cantidad de columna que tendrá el cuadro de lista
LISTA_ARTICULOS.AddItem
LISTA_ARTICULOS.List(LISTA_ARTICULOS.ListCount - 1, 0) = ActiveCell.Value
ActiveCell.Offset(0, 1).Select
LISTA_ARTICULOS.List(LISTA_ARTICULOS.ListCount - 1, 1) = ActiveCell.Value
ActiveCell.Offset(0, 1).Select
LISTA_ARTICULOS.List(LISTA_ARTICULOS.ListCount - 1, 2) = ActiveCell.Value
ActiveCell.Offset(1, -2).Select 'Colocar la ultima columna en negativo
End If
Wend
Sheets(DON).Select
Range("A1").Select
Application.ScreenUpdating = True
End Sub