Exelente aporte, es muy difícil encontrar videos de problemáticas reales que se realicen directamente en código, por favor sigue subiendo videos similares
Seguí paso a paso,y funciona PERFECTAMENTE...yo en mi tabla tengo tres columnas....como puedo hacer para que cada columna se muestre en un listbox diferente? Al buscar que me muestre por separado L1 CODIGO L2 DESCRIPCIÓN L3 VALOR... gracias...
Hola,estoy iniciando en vb...y me encontré este fantástico código,para un problema que tenía,mi programa Lee 7600 productos,y se demora como 10 segundos en reflejar lo que se busca,hice lo que dice en el tutorial paso a paso,pero en las primeras líneas ,cuando muestra el msgbox para que muestre las columnas,me sale un error en vb,"ERROR 7 en tiempo de ejecución,memoria insuficiente"...no me había pasado con otros formularios,y no se cómo ejecutar éste ahora....
Hola Pichilemu,, en B5 =REDOND.MULT(AGREGAR(14,4,LARGO(Tabla2[Nombre Producto]),1)+7/2,7) en G7 y arrastrar hacia abajo =REDOND.MULT(LARGO(Tabla2[@[Nombre Producto]])+7/2,7) en H7 y arrastrar hacia abajo =$B$5-G7 en I7 y arrastrar =H7/7+1
Excelente hermano te felicito que lo consiguieras, mucho código pero al fin de cuentas funciona, gracias por tu aporte...
Excelente, me costo un poco seguirlo , pero realmente es rapido. Gracias por su aporte.
Exelente aporte, es muy difícil encontrar videos de problemáticas reales que se realicen directamente en código, por favor sigue subiendo videos similares
Excelente hermano, un lujoooooooo
Excelente, de lo mejor que he visto en programacion VBA Excel.
Seguí paso a paso,y funciona PERFECTAMENTE...yo en mi tabla tengo tres columnas....como puedo hacer para que cada columna se muestre en un listbox diferente? Al buscar que me muestre por separado
L1 CODIGO
L2 DESCRIPCIÓN
L3 VALOR...
gracias...
Dim MBRUTA() As Variant
Dim MREAL() As String
Dim FILAS As Long
Private Sub L1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 And L1.ListCount > 0 Then
Dim D As String
D = L1.List(L1.ListIndex, 0)
D = Replace(D, " ", "|")
D = WorksheetFunction.Trim(Replace(D, vbTab, " "))
D = Replace(D, " ", ",")
D = Replace(D, "|", " ")
MsgBox Split(D, ",")(1)
End If
End Sub
Private Sub T1_Change()
L1.List = Filter(MREAL, UCase(T1.Text))
End Sub
Private Sub T1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 40 And L1.ListCount > 0 Then
L1.ListIndex = 0
End If
End Sub
Private Sub UserForm_Initialize()
MBRUTA = Range("TABLA1").ListObject.DataBodyRange
FILAS = Range("TABLA1").ListObject.DataBodyRange.Rows.Count
Dim MC%, MN%, MU%, MF%, MCS%, MS%
Dim CARACTER As Byte
CARACTER = 7
L1.Font = "LUCIDA SANS TYPEWRITER"
MC = Evaluate("MROUND(AGGREGATE(14,4,LEN(Tabla1[CODIGO]),1)+" & CARACTER & "/2," & CARACTER & ")")
MN = Evaluate("MROUND(AGGREGATE(14,4,LEN(Tabla1[Nombre Producto]),1)+" & CARACTER & "/2," & CARACTER & ")")
MU = Evaluate("MROUND(AGGREGATE(14,4,LEN(Tabla1[Und]),1)+" & CARACTER & "/2," & CARACTER & ")")
MF = Evaluate("MROUND(AGGREGATE(14,4,LEN(text(Tabla1[Fecha Salida],""dd/mm/yyyy"")),1)+" & CARACTER & "/2," & CARACTER & ")") ' para fechas
MCS = Evaluate("MROUND(AGGREGATE(14,4,LEN(Tabla1[Cant. Salida]),1)+" & CARACTER & "/2," & CARACTER & ")")
MS = Evaluate("MROUND(AGGREGATE(14,4,LEN(Tabla1[Stock Minimo]),1)+" & CARACTER & "/2," & CARACTER & ")")
ReDim MREAL(1 To FILAS)
For X = 1 To FILAS
MREAL(X) = MBRUTA(X, 1) & String((MC - WorksheetFunction.MRound(Len(MBRUTA(X, 1)) + CARACTER / 2, CARACTER)) / CARACTER + 1, vbTab) & _
MBRUTA(X, 2) & String((MN - WorksheetFunction.MRound(Len(MBRUTA(X, 2)) + CARACTER / 2, CARACTER)) / CARACTER + 1, vbTab) & _
MBRUTA(X, 3) & String((MU - WorksheetFunction.MRound(Len(MBRUTA(X, 3)) + CARACTER / 2, CARACTER)) / CARACTER + 1, vbTab) & _
MBRUTA(X, 4) & String((MF - WorksheetFunction.MRound(Len(MBRUTA(X, 4)) + CARACTER / 2, CARACTER)) / CARACTER + 1, vbTab) & _
MBRUTA(X, 5) & String((MCS - WorksheetFunction.MRound(Len(MBRUTA(X, 5)) + CARACTER / 2, CARACTER)) / CARACTER + 1, vbTab) & _
MBRUTA(X, 6) & String((MS - WorksheetFunction.MRound(Len(MBRUTA(X, 6)) + CARACTER / 2, CARACTER)) / CARACTER + 1, vbTab)
Next
L1.List = MREAL
T1.SetFocus
End Sub
Genial
Para el cursor, con T1.setfocus
Permanece un par de veces en el textbox,luego desaparece.
Interesante pero demasiado rebuscado y no está generalizado. Sería mejor adaptar ese código a una clase y funcione para cualquier listado de datos.
Muy buena acotación mi estimado
Se pueden crear más filtros? Es decir para 3 campos diferentes vaya filtrando a medida que voy seleccionando
llegue solo a que me muestre la columna 1 en el listbox, cuando hago lo del concatenado me dice "Error de compilación : error de sintaxis"
hola, dejé el código en los comentarios
Hola,estoy iniciando en vb...y me encontré este fantástico código,para un problema que tenía,mi programa Lee 7600 productos,y se demora como 10 segundos en reflejar lo que se busca,hice lo que dice en el tutorial paso a paso,pero en las primeras líneas ,cuando muestra el msgbox para que muestre las columnas,me sale un error en vb,"ERROR 7 en tiempo de ejecución,memoria insuficiente"...no me había pasado con otros formularios,y no se cómo ejecutar éste ahora....
Hola, verifica que el procesador no esté ejecutando otras aplicaciones y que tú memoria ram tenga buena capacidad
Podrías escribir las fórmulas para lo de los caracteres de las columnas ...
Hola Pichilemu,, en B5
=REDOND.MULT(AGREGAR(14,4,LARGO(Tabla2[Nombre Producto]),1)+7/2,7)
en G7 y arrastrar hacia abajo
=REDOND.MULT(LARGO(Tabla2[@[Nombre Producto]])+7/2,7)
en H7 y arrastrar hacia abajo
=$B$5-G7
en I7 y arrastrar
=H7/7+1