UniversoExcelForo

Respuesta a consultas.
Fecha de creación: 09.Abril.2012

Fundadores: Wibly,Tyno,Servando,Sakkar,Rosendo2,RMaximo,Railar,Mcoronel,Ioyama,Igtelo,Hugotron,Drochar,Dedos,Alberto,Adolfo

No se pueden hacer consultas de Excel o VBA por mensaje privado.
Utiliza el botón buscar del foro y te ahorras tiempo para obtener "ayuda".

No estás conectado. Conéctate o registrate

Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje [Página 1 de 1.]

1RESUELTO Error en Userform el 23/05/14, 12:58 pm

raptor


Hola amigos expertos en excel, quisiera pedir un poco de su ayuda para la solución de un tema un poco parecido a lo que me ayudaron anteriormente.

En un libro de excel tengo 3 hojas (entradas, salidas y devoluciones), el form se llena con datos de la hoja entradas y debe descargar su información en las hojas "salidas y devoluciones" respectivamente. El combobox1 carga aquellos datos que no contengan información en la columna 10, es decir en la columna J. El problema es que no me rellena los textboxs correspondientes,(textbox1,2,8 ), me arroja un error. Los textbox restantes   (texboxs3,4,5,6, y combobox2, se llenan a mano). Lo que necesito es que dichos textbox(1,2,8 ), se llenen dependiendo de código que hay en combobox1 y así darle paso a descargar la información en la ultima fila de las dos hojas( salidas y devoluciones)

He intentado varios código, incluso uno en el que me ayudo el buen jhon 1904, pero en este caso no me ha funcionado.

Espero me puedan ayudar expertos, muchas gracias.
Archivos
Libro3.zip
No tienes los permisos para descargar los archivos.
(75 KB)

2RESUELTO Re: Error en Userform el 23/05/14, 03:41 pm

tyno


Hola raptor.

Prueba lo siguiente.

En el editor de macros en el formulario le haces doble click al comobobox1 y modifica la linea que te indico abajo



Private Sub ComboBox1_Change()
        
Dim i As Long '<<<<<<<MODIFICAR probar  cambiar Long por Variant = Dim i As Variant
    Dim x As Long
    Dim j As Long
       i = ComboBox1
            With Sheets("ENTRADAS")
                j = .Range("A" & Rows.Count).End(xlUp).Row
                    With Application
                        x = WorksheetFunction.Match(i, .Range("A1:A" & j), 0)
                    End With
        'NO CARGA TEXTBOXS AL EJECUTAR FORM
                TextBox1 = .Cells(x, 2) 'COLOR
                TextBox2 = .Cells(x, 3) 'DESCRIPCIÓN
                TextBox8 = .Cells(x, 11) 'SALDO
                
                'TEXTBOXS 3,4,5,6 SE INTRODUCEN A MANO
                'COMBOBOX2 SE CARGA AUTOMATICO
                ' TEXTBOX 1,2,3,4,5,6 Y COMBOBOX1,2, SE VACÍAN EN 2 HOJAS, SALIDAS Y DEVOLUCIONES EN SUS RESPECTIVAS CELDAS
                
                End With
        
 End Sub

Saludos

3RESUELTO Error en Userform el 23/05/14, 04:16 pm

raptor


Hola experto tyno, su recomendación ha logrado cargar los textboxs, pero al momento de cambiar el registro teniendo ejecutado el form, me arroja un error de la propiedad match, ¿existe alguna manera en la cual me pueda auxiliar?, disculpe la molestia.

4RESUELTO Re: Error en Userform el 26/05/14, 04:34 pm

tyno


Hola raptor.
No se si ya solucionaste este problema, sino explicame que haces cuando salta este error, es decir que datos ingresas y que se supone que debería hacer el proceso normalmente si no saltara el error. Saludos

5RESUELTO Re: Error en Userform el 26/05/14, 04:53 pm

raptor


Que tal Tyno, mira el problema se soluciono en el libro que subí, pero este archivo es una copia del original,(el original contiene mas hojas y mas datos), pero en este ultimo no me funciona, me sigue arrojando un error en la función WorkshetFunction, me dice : "No se puede obtener la propiedad MATCH de la clase worksheetFunction"


En la rutina se omitieron las instrucciones :  With Application y end with para el correcto funcionamiento.


Quedo así:

Private Sub ComboBox1_Change()
        
    Dim x As Variant
    Dim j As Long
    Dim i As Variant
    
       i = ComboBox1
            With Sheets("ENTRADAS")
                j = .Range("A" & Rows.Count).End(xlUp).Row
                  
                        x = WorksheetFunction.Match(i, .Range("A1:A" & j), 0)
                    
        'NO CARGA TEXTBOXS AL EJECUTAR FORM
                TextBox1 = .Cells(x, 2) 'COLOR
                TextBox2 = .Cells(x, 3) 'DESCRIPCIÓN
                TextBox8 = .Cells(x, 11) 'SALDO
                
                'TEXTBOXS 3,4,5,6 SE INTRODUCEN A MANO
                'COMBOBOX2 SE CARGA AUTOMATICO
                ' TEXTBOX 1,2,3,4,5,6 Y COMBOBOX1,2, SE VACÍAN EN 2 HOJAS, SALIDAS Y DEVOLUCIONES EN SUS RESPECTIVAS CELDAS
                
                End With
                                        
End Sub

Yo pregunto habrá ; ¿habrá una forma diferente a la que se maneja para que el  combobox1 cargue aquellos datos que no contengan información en la columna 10, "Columna J", pero que también cargue la información respectiva a los textboxs señalados?


Gracias por la atención y disculpa las molestías. Saludos

6RESUELTO Re: Error en Userform el 26/05/14, 05:28 pm

tyno


Ok. si el error salta cuando seleccionas algún código con el primer combobox entonces creo que es porque dicho código que has seleccionado no existe en la Hoja ENTRADAS de ahí el error.
Ahora no se si puede dar que un código que aparezca en ese combobox no este en la Hoja ENTRADAS, si es así deberías cambiar el código de macro del combobox para que quede así:

Private Sub ComboBox1_Change()
On Error GoTo sin_datos
Dim i As Variant
    Dim x As Long
    Dim j As Long
       i = ComboBox1
            With Sheets("ENTRADAS")
                j = .Range("A" & Rows.Count).End(xlUp).Row
                    With Application
                        x = WorksheetFunction.Match(i, .Range("A1:A" & j), 0)
                    End With
        'NO CARGA TEXTBOXS AL EJECUTAR FORM
                TextBox1 = .Cells(x, 2) 'COLOR
                TextBox2 = .Cells(x, 3) 'DESCRIPCIÓN
                TextBox8 = .Cells(x, 11) 'SALDO
                
                'TEXTBOXS 3,4,5,6 SE INTRODUCEN A MANO
                'COMBOBOX2 SE CARGA AUTOMATICO
                ' TEXTBOX 1,2,3,4,5,6 Y COMBOBOX1,2, SE VACÍAN EN 2 HOJAS, SALIDAS Y DEVOLUCIONES EN SUS RESPECTIVAS CELDAS
                
                End With
Exit Sub
sin_datos:

                TextBox1 = ""
                TextBox2 = ""
                TextBox8 = ""
            
        
 End Sub


Prueba y me avisas.


Saludos

7RESUELTO Re: Error en Userform el 26/05/14, 06:35 pm

raptor


Hola Tyno, gracias por responder. Lamentablemente no me sirvio, mira anexo como debería quedar. Este es el archivo que funciona,(no original). Como te cuento, no sé porque este si funcione y el original no, por eso buscaba una forma diferente para llevar correctamente a cabo la rutina. Saludos.
Archivos
Libro3..zip
No tienes los permisos para descargar los archivos.
(67 KB)

8RESUELTO Re: Error en Userform el 27/05/14, 03:14 am

raptor


Estimado Tyno, descubrí algo del libro,tal vez no muy importante, pero que me hace pensar que el código utilizado para cargar los datos en combo y texts no es correcto y no me brinda eficiencia. 

Mira, estuve analizando con depurador paso a paso a ver que error existía,encontré nada, y dije;- tal vez el error este en la hoja. Abrí dos veces el mismo archivo uno original y el otro copia, en el original borre los registros completos en las tres hojas"entradas,salidas,devoluciones". Posterior a esto fui al libro de copia y valga la redundancia fui copiando los datos para pegarlos en el libro original. Cuando termine de pegar los datos, ejecute el form y funciono, es decir realizo la rutina correctamente y hasta vacío la información en las hojas. Pero para mi mala fortuna, al querer ejecutarlo por segunda vez volvió a arrojar el error de la propiedad  MATCH de la clase worksheetFunction Sad

9RESUELTO Re: Error en Userform el 04/06/14, 03:57 pm

raptor


Solucionado

Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.