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 Codigo para modificar datos el 05/04/14, 06:01 pm

JoaoM


Tengo este libro el cual le elimine 4 formularios para crear un Multipage de 4 pestañas.
Los códigos de los formularios, cada uno en su pestaña respectiva.
Las 2 pestañas para Modificar, no me funcionan como tal cuando presiono el botón Validar, en ves de modificar el dato seleccionado en el ComboBox, lo agrega como si fuera un nuevo dato en nueva línea.
Alguna ayuda para ello? En la hoja1 está mi descripción.
Gracias
Archivos
2- Proyecto_Stock con Factura_para edicion.zip
No tienes los permisos para descargar los archivos.
(255 KB)

2RESUELTO Re: Codigo para modificar datos el 05/04/14, 07:27 pm

tyno


Hola Joao.
Te paso una modificación de tu código para el botón VALIDAR, en este caso para la pestaña Edición de Producto, si te sirve es cuestión de que apliques el mismo criterio para los otros casos:


'EDICION PRODUCTO
Private Sub btnmocAC2_Click()
Dim strfila$
Hoja2.Activate
    
Dim fila As String
[A65536].End(xlUp).Offset(1, 0).Select


strfila$ = Range("a1:a1000000").Find(txtcli10, lookat:=xlWhole).Row

Range("A" + strfila$) = CDbl(txtcli10) 'Item
Range("B" + strfila$) = txtcli20 'Descripcion
Range("C" + strfila$) = txtcli30 'Code
Range("D" + strfila$) = CDbl(txtcli40) 'Cant.
Range("E" + strfila$) = txtcli50 'Ubic.
Range("F" + strfila$) = CDbl(txtcli60) 'Precio+IVA
Range("G" + strfila$) = CDbl(txtcli70) '#Factura
Range("I" + strfila$) = txtcli80 'Observacion

Range("A1").End(xlDown).Select 'Deja seleccionada la última celda ocupada
NumReg = ActiveCell.Value + 1  'Capta la celda seleccionada

cmbEdProd = "": txtcli10 = "": txtcli20 = "": txtcli30 = "": txtcli40 = "": txtcli50 = "": _
txtcli60 = "": txtcli70 = "": txtcli80 = ""

If Modificar = True Then
   Modificar = False
   Unload Me
End If

Exit Sub
txtcli20.SetFocus

End Sub


Saludos

3RESUELTO Re: Codigo para modificar datos el 05/04/14, 09:44 pm

JoaoM


Muy bien muy bien. Gracias amigo por la explendida ayuda.
Fijate tu que el código que tiene la pestaña es el mismo que tenia el formulario de modificar, el cual elimino y paso a la pestaña el codig tal como estaba pero, no modifica estando en la pestaña y en el form si modificaba.

Voy a tratar de que en el ComboBox no se pueda escribir o modificar nada (en el ComboBox) ¿porque?
Porque sin darme cuenta modifique un nombre seleccionado y demás, cuando presione Validar, este aparec een la hoja sin nombre en la B.

Seria que dejaran el tema abierto por si no doy con el camino para lo del ComboBox.  Tal vez en el evento Click del Combo, colocarle Locked true o enable false y luego en el evento del boton Validar Locked False o Eneble True, ya vere como me dá.

Gracias.

Edito

No me da ni de una ni de otra forma
De cualquier forma deja eliminar texto o agregar
Podrias decirme cual podría aplicar para que después de seleccionar un dato n odeje escribir o reescribir y luego después de Validar vuelva a dejar seleccionar otro dato.

Con Locked o Enabled no me da


No probe pero no quisiera usar el Visible False

4RESUELTO Re: Codigo para modificar datos el 06/04/14, 12:24 pm

tyno


Hola Joao.
Si lo que quieres es impedir que se modifique el texto del combobox entonces deberías agregar este código que he buscado en la Web (http://damianexcel.blogspot.com.ar/2011/07/controlar-los-datos-que-ingresan.html) y lo adapte a tu caso:

Private Sub cmbEdProd_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Select Case KeyCode
    Case Is = vbKeyDown
        KeyCode = vbKeyDown
    Case Is = vbKeyUp
        KeyCode = vbKeyUp
    Case Is = vbKeyReturn
        KeyCode = vbKeyReturn
    Case Is = vbKeyTab
        KeyCode = vbKeyTab
    Case Else
        KeyCode = 0
End Select
End Sub


Como siempre el ejemplo es en la pestaña "Edición de Producto".

Saludos

5RESUELTO Re: Codigo para modificar datos el 06/04/14, 05:41 pm

JoaoM


Hola tino, como te vá el fin semana? espero que mejor que el mio, pues unos cólicos de riñon y cintura que nadie me lo quitaba, ya estoy un tanto mejor pero aun.

Si tito, esa es la idea, que NADIE cambie el texto del Combo porque por eventos Click, Change y algu notro que probe, no me resulta, siempre me deja hacer cambios.
Voy a poner en pratica tu consejo y te dire algo.

Algunos otros problemas se me van presentando pero he estado y estoy en tratar de solventarlos (si puedo y esta a mi alcance) si no abrire nuevo tema una ves que este está resuelto, pero


agradezco no cerrar el tema aun

Edito:

Si probe y no deja reescribir nada en el combo

Agregue a este unas líneas para cuando ingreso, ordenar de A a Z y todo perfecto, estas líneas las tengo también en una otra plantilla, fue copiar y pegar solo cambiar la letra de columna

Voy abriendo nuevo tema y te dejo acá el enlace para que me eches un ojo dejando libro en el nuevo tema

Tito, como hago para abrir nuvo tema si ndejar el libro y que mu mismo uses ese que ahí tienes?

Esto porque al libro me pesa 262 y no deja agregarlo por el peso.
¿Será que puedo subirlo a una WEB y dejar el enlaca acá? en el nuevo tema.

Agradezco una respuesta breve para hacerlo

6RESUELTO Re: Codigo para modificar datos el 06/04/14, 07:20 pm

JoaoM


tino, aquí el nuevo tema

http://www.universoexcelforo.com/t726-ordenar-el-id-sin-saltos#4095

Pari para rebajarlo


tino, probe al propiedad Style del ComboBox y me sirve bien, le di la opción 2.
Así se encurta el codigo

Al terminar te enviare el proyecto completo para que hagas con el lo que te plazca

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.