Jump to content
Sign in to follow this  
MisterHP

[CERRADO]Ayuda con completar Userforms

Recommended Posts

Saludos a todos, esta es mi segunda consulta en este gran foro en la que he visto el animo de todos como para ayudar a los que por falta de conocimientos entramos aqui.

Tengo lo siguiente estoy por llevar el control de miembros, y entradas de dinero en una pequeña iglesia, por lo que buscando aqui he encontrado varios archivos y tomando ejemplo hice varios userform, por ahora con la ayuda de ustedes quiero poder terminar el userform2 y el userform6, en el userform2 se registran en la hoja miembros los datos, y con el 6 quiero que se puedan consultar, eliminar o modificar.

en cuanto el userform2 hay una parte que dice ID quiero que este me vaya dando un numero de id a cada miembro que ingreso, y en cuanto al userform6 que al poder ese ID pueda traer los datos con el combobox a cada texbox segun algo parecido al criterio del userform1, estos estariann en la hoja miembros y luego modificar cuando sea necesario.

Espero puedan entender y alguien se pueda animar a ayudarme.

http://rapidshare.com/files/380960171/Iglesia.xlsm.html

Gracias,

Share this post


Link to post
Share on other sites

Re: Ayuda con completar Userforms

Hola,

Para comenzar en hacer tu userfrom puede buscar varios tutoriales para comenzar, como por ejemplo:

http://www.cyta.com.ar/biblioteca/bd...m/userform.htm

O puedes ver el documento que subi en el foro:

https://www.ayudaexcel.com/foro/showthread.php?t=11507

Espero que te sirva.

Gracias, mas tarde estare subiendo nuevamente el archivo con algunos cambios que le he introducido a ver como pueden ayudarme a completar lo faltante, he tenido que ir tomando archivos y mirando como trabajan los codigos y me ha ido funcionando, pero hay partes que no se como hacerlas, como por ejemplo la de que me genere un numero id consecutivo cada vez que guarde un registro.

Share this post


Link to post
Share on other sites

Re: Ayuda con completar Userforms

buenas si el ID lo estas colocando en la columna A puedes usar lo siguiente

Sheets(lahojadondecoloqueslosdatos).Range("A" & Rows.Count).End(XUlp)(2)=Sheets(lahojadondecoloqueslosdatos).Range("A" & Rows.Count).End(XUlp)+1

un saludo

Share this post


Link to post
Share on other sites

Re: Ayuda con completar Userforms

buenas si el ID lo estas colocando en la columna A puedes usar lo siguiente

Sheets(lahojadondecoloqueslosdatos).Range("A" & Rows.Count).End(XUlp)(2)=Sheets(lahojadondecoloqueslosdatos).Range("A" & Rows.Count).End(XUlp)+1

un saludo

Ok y como hago para que se muestre en un textbox y cada vez que guarde entonces se cambie se numero.

por ejemplo digito la informacion y veo que el numero esta en 1, y despues que presione guardar, el numero cambie a 2, y asi vaya continuando.

Share this post


Link to post
Share on other sites

Re: Ayuda con completar Userforms

Estos son los codigos que tengo puesto, y como mencione tengo un textobox donde deberia aparecer el id que debe ir consecutivamente en aumento a medida q se registre un dato en la columna A estaria el ID.

Private Sub Guardar_Click()

'Guardar

Dim v1str As String

Dim UltFil As Long

Dim Tipo As String

Dim rngbsq As Range

'validaciones de datos

If Len(Nombres.Text) = 0 Then v1str = "-Campo de nombres vacio"

If Len(Apellidos.Text) = 0 Then v1str = "-Campo de apellidos vacio"

If Len(Direccion.Text) = 0 Then v1str = "-Campo de direccion vacio"

If Len(v1str) > 0 Then

If MsgBox("Favor de verificar lo siguiente:" & vbCrLf & vbCrLf & v1str & _

vbCrLf & vbCrLf & "¿Confirma que desea Guardar los datos?", vbQuestion + vbYesNo + vbDefaultButton1) = vbNo Then

Exit Sub

End If

End If

Sheets("Miembros").Select

Range(Range("A" & Rows.Count).End(xlUp)(2), Range("X" & Rows.Count).End(xlUp)(2)) = _

Array(ID, Nombres, Apellidos, Direccion, Sector, Telefono, Celular, Cedula, Correo, FechaNacimiento, Edad, Informacion, TipoMiembro, Entrada, Salida, Bautizado, FechaBautizmal, Comentario, Sociedad, Desde, Hasta, Funcion, Entro, Salio)

MsgBox "Excelente has copiado la información. ", vbInformation, "OPERACIÓN COMPLETADA"

End Sub

Private Sub UserForm_Initialize()

TipoMiembro.RowSource = "Datos!A2:A" & Application.WorksheetFunction.CountA(Sheets("Datos").Columns("A:A"))

Bautizado.RowSource = "Datos!B2:B" & Application.WorksheetFunction.CountA(Sheets("Datos").Columns("B:B"))

Sociedad.RowSource = "Datos!C2:C" & Application.WorksheetFunction.CountA(Sheets("Datos").Columns("C:C"))

End Sub

Share this post


Link to post
Share on other sites

Re: Ayuda con completar Userforms

buenas si lo que quieres es que te aparezca en el textbox ID coloca el siguiente codigo en la parte de Private Sub UserForm_Initialize()

ID=Application.WorksheetFunction.CountA(Sheets("Mienbros").Columns("A:A"))+1

y luego en el boton de orden de guardar

ID=Application.WorksheetFunction.CountA(Sheets("Mienbros").Columns("A:A"))+1

un saludo

Share this post


Link to post
Share on other sites

Re: Ayuda con completar Userforms

buenas si lo que quieres es que te aparezca en el textbox ID coloca el siguiente codigo en la parte de Private Sub UserForm_Initialize()

ID=Application.WorksheetFunction.CountA(Sheets("Mienbros").Columns("A:A"))+1

y luego en el boton de orden de guardar

ID=Application.WorksheetFunction.CountA(Sheets("Mienbros").Columns("A:A"))+1

un saludo

Bueno lo logré pero de otra forma, asi lo puse

Private Sub Desde_Enter()

With frmcalendar

.Caption = "Seleccione la Fecha"

.frmstr = Me.Desde.Name

.Show

End With

End Sub

Private Sub Entrada_Enter()

With frmcalendar

.Caption = "Seleccione la Fecha"

.frmstr = Me.Entrada.Name

.Show

End With

End Sub

Private Sub Entro_Enter()

With frmcalendar

.Caption = "Seleccione la Fecha"

.frmstr = Me.Entro.Name

.Show

End With

End Sub

Private Sub FechaBautismal_Enter()

With frmcalendar

.Caption = "Seleccione la Fecha"

.frmstr = Me.FechaBautismal.Name

.Show

End With

End Sub

Private Sub FechaNacimiento_Enter()

With frmcalendar

.Caption = "Seleccione la Fecha"

.frmstr = Me.FechaNacimiento.Name

.Show

End With

End Sub

Private Sub Limpiar1_Click()

IDMiembro = ""

Nombres = ""

Apellidos = ""

Direccion = ""

IDMiembro = ID_Miembro

End Sub

Private Sub Regresar_Click()

Unload Me 'Descarga objeto

UserForm1.Show 'Muestra y carga objeto

End Sub

Private Sub Salida_Enter()

With frmcalendar

.Caption = "Seleccione la Fecha"

.frmstr = Me.Salida.Name

.Show

End With

End Sub

Private Sub Hasta_Enter()

With frmcalendar

.Caption = "Seleccione la Fecha"

.frmstr = Me.Hasta.Name

.Show

End With

End Sub

Private Sub Salio_Enter()

With frmcalendar

.Caption = "Seleccione la Fecha"

.frmstr = Me.Salio.Name

.Show

End With

End Sub

Private Sub Guardar_Click()

'Guardar

Dim v1str As String

Dim UltFil As Long

Dim Tipo As String

Dim rngbsq As Range

'validaciones de datos

If Len(Nombres.Text) = 0 Then v1str = "-Campo de nombres vacio"

If Len(Apellidos.Text) = 0 Then v1str = "-Campo de apellidos vacio"

If Len(Direccion.Text) = 0 Then v1str = "-Campo de direccion vacio"

If Len(v1str) > 0 Then

If MsgBox("Favor de verificar lo siguiente:" & vbCrLf & vbCrLf & v1str & _

vbCrLf & vbCrLf & "¿Confirma que desea Guardar los datos?", vbQuestion + vbYesNo + vbDefaultButton1) = vbNo Then

Exit Sub

End If

End If

Sheets("Miembros").Select

Range(Range("A" & Rows.Count).End(xlUp)(2), Range("X" & Rows.Count).End(xlUp)(2)) = _

Array(IDMiembro, Nombres, Apellidos, Direccion, Sector, Telefono, Celular, Cedula, Correo, FechaNacimiento, Edad, Informacion, TipoMiembro, Entrada, Salida, Bautizado, FechaBautizmal, Comentario, Sociedad, Desde, Hasta, Funcion, Entro, Salio)

If MsgBox("Se ha guardado la información ¿Desea Capturar más Datos?", vbQuestion + vbYesNo) = vbYes Then

If MsgBox("¿Desea limpiar el formulario?", vbQuestion + vbYesNo + vbDefaultButton1) = vbYes Then

Limpiar1_Click

Else

IDMiembro = ID_Miembro

End If

Else

Unload Me

End If

End Sub

Function ID_Miembro() As Long

If IsNumeric(Sheets("Miembros").Range("A" & Rows.Count).End(xlUp).Value) Then

ID_Miembro = Sheets("Miembros").Range("A" & Rows.Count).End(xlUp).Value + 1

Exit Function

Else

ID_Miembro = 1

End If

End Function

Private Sub UserForm_Initialize()

TipoMiembro.RowSource = "Datos!A2:A" & Application.WorksheetFunction.CountA(Sheets("Datos").Columns("A:A"))

Bautizado.RowSource = "Datos!B2:B" & Application.WorksheetFunction.CountA(Sheets("Datos").Columns("B:B"))

Sociedad.RowSource = "Datos!C2:C" & Application.WorksheetFunction.CountA(Sheets("Datos").Columns("C:C"))

IDMiembro = ID_Miembro

End Sub

Private Sub Salir_Click()

Unload Me

End Sub

y me funcionó, creo que si continuo podre ir haciendo la macro poquito a poquito.

Share this post


Link to post
Share on other sites

Re: Ayuda con completar Userforms

Saludos nuevamente subo el archivo q contiene los codigos que ido colocando en los userform, la ayuda que solicito ahora es para poder completar el userform6 que sirve para realizar consultas, quiero que me arrastre las informaciones que faltan y la muestre y luego pueda hacer que funcionen los botones de guardar cambios y eliminar. Coloque algunos codigos, pero no se como hacer para que la fecha se traiga en el formato fecha como fue ingresado y que los demas combobox traiga esos valores y me permita escoger otro si quiero cambiar el dato.

http://rapidshare.com/files/381322337/Iglesia.xlsm.html

Gracias,

Share this post


Link to post
Share on other sites

Re: Ayuda con completar Userforms

Perdonen la molestia, quisiera pues si alguien se anima a completar lo faltante que esa parte no he podido hacer que funcione o sea no se de q modo podria funcionar los combobox cuando dependan de otro y luego modificar el contenido.

Share this post


Link to post
Share on other sites

Re: Ayuda con completar Userforms

Buenos dias, les comento que hice algunos cambios pequenos por si alguien me puede ayudar a completar las partes que comenté ayer. Cambie esto en algunos userform.

userform3 lo coloque asi ya que vi que no traia algunos datos.

Private Sub UserForm_Initialize()

TipoEntrada.RowSource = "Datos!E2:E" & Application.WorksheetFunction.CountA(Sheets("Datos").Columns("E:E"))

IDMiembro.RowSource = "Miembros!A4:C" & Application.WorksheetFunction.CountA(Sheets("Miembros").Columns("A:C"))

IDSociedad.RowSource = "Datos!C2:D" & Application.WorksheetFunction.CountA(Sheets("Datos").Columns("C:C"))

End Sub

Userform6

Private Sub UserForm_Initialize()

IDMiembro.RowSource = "Miembros!A4:X" & Application.WorksheetFunction.CountA(Sheets("Miembros").Columns("A:X"))

End Sub

En el userform6 requiero de su ayuda para que al buscar con el ID me busque los datos en la hoja miembros, y que puedan ser modificados o eliminados.

Gracias.

Share this post


Link to post
Share on other sites

Re: Ayuda con completar Userforms

Hola, estoy teniendo un inconveniente en uno de los userform y es que quiero que los texbox queden en formato numero, utilice estos codigos pero veo que hay uno que no se actualiza a menos que haga clic o pase por el, y donde debe aparecer el resultado este no aparece a menos que escriba en el.

Estos son los codigos:

Private Sub Valor1_Exit(ByVal Cancel As MSForms.ReturnBoolean)

Valor1 = Format(Valor1, "###,###,###.00")

End Sub

Private Sub Disponible1_Exit(ByVal Cancel As MSForms.ReturnBoolean)

Disponible1 = Format(Disponible1, "###,###,###.00")

End Sub este no muestra el formato a menos que haga clic o pase por el.

Private Sub Restante1_Exit(ByVal Cancel As MSForms.ReturnBoolean)

Restante1 = Format(Restante1, "###,###,###.00")

End Sub no muestra nada a menos que haga clic

Private Sub Restante1_Change()

Restante1.Text = Val(Valor1.Text) - Val(Disponible1.Text)

Restante1 = Format(Restante1, "###,###,###.00")

End Sub

no muestra nada a menos que haga clic

El valor disponible lo llamo de esta forma y este esta en una hoja de excel, no se si este sea el problema de que disponible no se coloca en el formato correcto

Private Sub UserForm_Initialize()

IDDestino2.RowSource = "Datos!C2:D" & Application.WorksheetFunction.CountA(Sheets("Datos").Columns("C:C"))

IDDestino1.RowSource = "Datos!F2:G" & Application.WorksheetFunction.CountA(Sheets("Datos").Columns("F:F"))

Sheets("EntradasSalidas").Select

UserForm7.Disponible1 = [D4]

Share this post


Link to post
Share on other sites

Re: Ayuda con completar Userforms

Buenas puedes probar con

Userform7.Disponible=[D4]*1

un saludo

Gracias amigo Logroastur, pero permite explicar nuevamente

Tengo tres textbox llamados asi

valor, disponible, restante

el disponible aparece con la funcion anterior que colocaste, el problema existente es que usando la formula para formatos no obtengo los formatos en el textbox disponible a menos que haga clic entre al boton y presione continuar al otro, y en el texbox restante no se muestra el resultado a menos que escriba algun numero encima.

dentro de mi poco conocimiento de esto creo que se trata de la formula empleada para los formatos.

Share this post


Link to post
Share on other sites

Re: Ayuda con completar Userforms

Buenas de nuevo pero la necesidad de quesean numeros es para cuando haces el traslado a las hojas?

un saludo

Si y para que se puedan ver, hagamos lo siguiente copiare el codigo completo, y luego en el archivo que subi prueba el codigo en el userform7, haz una hoja y ponle el nombre EntradaSalidas en D4 pon un valor que desees y luego ejecuta el userform7 y veras a lo que me refiero que pasa que no puedo ver el texbox llamado disponible en el formato numero 0,000.00 a menos que entre a el y teclee, y tampoco al introducir un valor en textbox valor, no me resta en el texbox restante, o sea a menos que entre a el para que muestre el valor.

este es el codigo completo.

Private Sub IDDestino1_Change()

'Datos

With IDDestino1

If .ListIndex = -1 Then Exit Sub

If .Value = IDDestino2.Value And .ListIndex <> -1 Then

MsgBox "Ese Registro ya se encuentra", vbCritical

.ListIndex = -1

Destino = ""

Exit Sub

Else

Destino1.Text = .List(.ListIndex, 1)

End If

End With

End Sub

Private Sub IDDestino2_Change()

'Datos

With IDDestino2

If .ListIndex = -1 Then Exit Sub

If .Value = IDDestino1.Value And .ListIndex <> -1 Then

MsgBox "Ese Registro ya se encuentra", vbCritical

.ListIndex = -1

Destino2 = ""

Exit Sub

Else

Destino2.Text = .List(.ListIndex, 1)

End If

End With

End Sub

Private Sub Grabar1_Click()

'Grabar

Dim v1str As String

Dim UltFil As Long

Dim Tipo As String

Dim rngbsq As Range

'validaciones de datos

If Len(IDDestino1.Value) = 0 Then v1str = "-Campo de ID Destino vacio"

If Len(Destino1.Text) = 0 Then v1str = "-Campo de Destino vacio"

If Len(Valor1.Text) = 0 Then v1str = "-Campo de valor vacio"

If Len(Fecha1.Text) = 0 Then v1str = "-Campo de fecha vacio"

If Len(v1str) > 0 Then

If MsgBox("Favor de verificar lo siguiente:" & vbCrLf & vbCrLf & v1str & _

vbCrLf & vbCrLf & "¿Confirma que desea Guardar los datos?", vbQuestion + vbYesNo + vbDefaultButton1) = vbNo Then

Exit Sub

End If

End If

Sheets("Salidas").Select

Range(Range("a" & Rows.Count).End(xlUp)(2), Range("d" & Rows.Count).End(xlUp)(2)) = _

Array(IDDestino1.Value, Destino1.Text, Valor1.Text, Fecha1.Text)

MsgBox "Excelente has copiado la información. "

End Sub

Private Sub Grabar2_Click()

'Grabar

Dim v1str As String

Dim UltFil As Long

Dim Tipo As String

Dim rngbsq As Range

'validaciones de datos

If Len(IDDestino2.Value) = 0 Then v1str = "-Campo de ID Destino vacio"

If Len(Destino2.Text) = 0 Then v1str = "-Campo de Destino vacio"

If Len(Valor2.Text) = 0 Then v1str = "-Campo de valor vacio"

If Len(Fecha2.Text) = 0 Then v1str = "-Campo de fecha vacio"

If Len(Justifique.Text) = 0 Then v1str = "-Campo de fecha vacio"

If Len(v1str) > 0 Then

If MsgBox("Favor de verificar lo siguiente:" & vbCrLf & vbCrLf & v1str & _

vbCrLf & vbCrLf & "¿Confirma que desea Guardar los datos?", vbQuestion + vbYesNo + vbDefaultButton1) = vbNo Then

Exit Sub

End If

End If

Sheets("Salidas").Select

Range(Range("F" & Rows.Count).End(xlUp)(2), Range("J" & Rows.Count).End(xlUp)(2)) = _

Array(IDDestino2.Value, Destino2.Text, Valor2.Text, Fecha2.Text, Justifique.Text)

MsgBox "Excelente has copiado la información. "

End Sub

Private Sub Limpiar1_Click()

IDDestino1.Value = ""

Destino1.Text = ""

Valor1.Text = ""

Fecha1.Text = ""

Disponible1.Text = ""

End Sub

Private Sub Limpiar2_Click()

IDDestino2.Value = ""

Destino2.Text = ""

Valor2.Text = ""

Fecha2.Text = ""

Disponible2.Text = ""

End Sub

Private Sub Valor1_Exit(ByVal Cancel As MSForms.ReturnBoolean)

Valor1 = Format(Valor1, "###,###,###.00")

End Sub

Private Sub Disponible1_Exit(ByVal Cancel As MSForms.ReturnBoolean)

Disponible1 = Format(Disponible1, "###,###,###.00")

End Sub

Private Sub Restante1_Exit(ByVal Cancel As MSForms.ReturnBoolean)

Restante1 = Format(Restante1, "###,###,###.00")

End Sub

Private Sub Restante1_Change()

Restante1.Text = Val(Valor1.Text) - Val(Disponible1.Text)

Restante1 = Format(Restante1, "###,###,###.00")

End Sub

Private Sub Valor2_Exit(ByVal Cancel As MSForms.ReturnBoolean)

Valor2 = Format(Valor2, "###,###,###.00")

End Sub

Private Sub Disponible2_Exit(ByVal Cancel As MSForms.ReturnBoolean)

Disponible2 = Format(Disponible2, "###,###,###.00")

End Sub

Private Sub Restante2_Exit(ByVal Cancel As MSForms.ReturnBoolean)

Restante2 = Format(Restante2, "###,###,###.00")

End Sub

Private Sub Restante2_Change()

Restante2.Value = Val(Valor2.Value) - Val(Disponible2.Value)

Restante2 = Format(Restante2, "###,###,###.00")

End Sub

Private Sub Salir_Click()

Unload Me

End Sub

Private Sub Regresar_Click()

Unload Me 'Descarga objeto

UserForm1.Show 'Muestra y carga objeto

End Sub

Private Sub UserForm_Initialize()

IDDestino2.RowSource = "Datos!C2:D" & Application.WorksheetFunction.CountA(Sheets("Datos").Columns("C:C"))

IDDestino1.RowSource = "Datos!F2:G" & Application.WorksheetFunction.CountA(Sheets("Datos").Columns("F:F"))

Sheets("EntradasSalidas").Select

UserForm7.Disponible1 = [D4]

UserForm7.Disponible2 = [D4]

End Sub

Share this post


Link to post
Share on other sites

Re: Ayuda con completar Userforms

Tengo poco conocimiento en macro pero leyendo este codigo creo que todo se relaciona con el , pero no se si estoy en lo correcto, pero creo que debe ser el que lanza el dato, es decir solo funciona si mei me ubico en el texbox.

Exit(ByVal Cancel As MSForms.ReturnBoolean)

Share this post


Link to post
Share on other sites

Re: Ayuda con completar Userforms

Hola MisterHP...... Revisa el adjunto,... te he añadido un poco de codigo en el Form6 para guardar cambios y para eliminar registros,.... lo de las fechas y lo de los combos..,no se lo que quieres decir..

Gracias por responder, acabo de probar, mi dura aca mayor era lo concerniente a que cuando se trae el dato, debe permitirme escoger en uno de los combos por ejemplo tipo de miembro, bautizado o sociedad cambiar el dato al igual como se hace en el userform2 de registros, donde si escojo bautizado puedo poner si o no, pero en el de consulta deberia permitirme igual. Esa parte no lo hace, solo trae el dato pero necesito que si quiero cambiarlo lo cambien por otro y guardar luego los cambios.

Share this post


Link to post
Share on other sites

Re: Ayuda con completar Userforms

He introducido algunos cambios al archivo y a modo de resumen explico algunas partes.

Problemas con el Formato Numero en el userform7 segun los texbox disponible y restante no presenta la resta automaticamente ni le da el formato.

En el userform6 al realizar la consulta, deberia aparecer el combox tipodemiembro, bautizado, sociedad el que yo pueda modificarlo o sea aparecer igual como en el userform2 donde se registran los datos que yo puedo seleccionarlos y elegir el valor que trae.

Ver archivo aca http://rapidshare.com/files/381713613/Iglesia.xlsm.html

Gracias, espero poder recibir la ayuda acostumbrada de todos.

Saludos

Share this post


Link to post
Share on other sites

Re: Ayuda con completar Userforms

Adjunto archivo con la modificacion espero sea lo que necesitas cualquier duda me cuentas.

Excelente, vi que ya funciona como pedia el userform de consultas de miembros, aunque el archivo que usaste no es el ultimo que subi, como habia planteado tengo inconvenientes con el formato en el userform7 que no trae los valores en formato numero y que ademas no arroja el resultado a menos que haga clic o enter, y deberia aparecer automaticamente, seria bueno que miraras el ultimo archivo subido por mi, de todas maneras subo el ultimo cambio queda pendiente el userform7. Gracias,

http://rapidshare.com/files/381758525/Iglesia.xlsm.html

Share this post


Link to post
Share on other sites

Re: Ayuda con completar Userforms

Saludos a todos, algo que me ha venido a la cabeza y es lo que quisiera preguntar, como puedo hacer que textbox Disponible1 sea dependiente del combobox IDDestino1 y el textbox Disponible2 del combobox IDDestino2, de manera que el valor disponible solo me aparezca cuando seleccione el combobox. Hago este analisis porque solo se traer una informacion cuando estan en una misma hoja, pero no se como se trae cuando los datos que dependen estan en diferentes hojas, trate de modificar el codigo para hacerlo pero me arrojaba un error.

Este es el codigo para ambos combobox

Private Sub IDDestino1_Change()

'Datos

With IDDestino1

If .ListIndex = -1 Then Exit Sub

If .Value = IDDestino2.Value And .ListIndex <> -1 Then

MsgBox "Ese Registro ya se encuentra", vbCritical

.ListIndex = -1

Destino = ""

Exit Sub

Else

Destino1.Text = .List(.ListIndex, 1)

End If

End With

End Sub

Private Sub IDDestino2_Change()

'Datos

With IDDestino2

If .ListIndex = -1 Then Exit Sub

If .Value = IDDestino1.Value And .ListIndex <> -1 Then

MsgBox "Ese Registro ya se encuentra", vbCritical

.ListIndex = -1

Destino2 = ""

Exit Sub

Else

Destino2.Text = .List(.ListIndex, 1)

End If

End With

End Sub

y de esta forma para que aparezcan

Private Sub UserForm_Initialize()

IDDestino2.RowSource = "Datos!C2:D" & Application.WorksheetFunction.CountA(Sheets("Datos").Columns("C:C"))

IDDestino1.RowSource = "Datos!F2:G" & Application.WorksheetFunction.CountA(Sheets("Datos").Columns("F:F"))

Sheets("EntradasSalidas").Select

UserForm7.Disponible1 = [D4]

UserForm7.Disponible2 = [D4]

Q cosa puedo cambiar para que funcione como lo he pensado que seria mejor?

Agradezco alguien me pueda ayudar tanto con esto como como lo mencionado del formato de los numero y la resta que no arroja los resultados exactos..

Share this post


Link to post
Share on other sites

Re: Ayuda con completar Userforms

Hum el problema es que no puedo adjuntar el archivo al foro. hare lo siguiente el archivo que posees copia este codigo en el userform7 y haz la prueba que menciono antes de que el valor que aparece en el textbox disponible1 y disponible 2, dependan del combobox IDDestino1 y Destino2, estos son alados desde otra hoja llamada EntradasSalidas en la celda D4. hay problemas al restar ya que no esta restando ni el formato esta correcto.

Private Sub Fecha1_Enter()

'envio de parametros para fecha

frmcalendar1.ParametrosCalendario Me.Name, "Seleccione la Fecha", Me.Fecha1.Name

End Sub

Private Sub Fecha2_Enter()

'envio de parametros para fecha

frmcalendar1.ParametrosCalendario Me.Name, "Seleccione la Fecha", Me.Fecha2.Name

End Sub

Private Sub IDDestino1_Change()

'Datos

With IDDestino1

If .ListIndex = -1 Then Exit Sub

If .Value = IDDestino2.Value And .ListIndex <> -1 Then

MsgBox "Ese Registro ya se encuentra", vbCritical

.ListIndex = -1

Destino = ""

Exit Sub

Else

Destino1.Text = .List(.ListIndex, 1)

End If

End With

End Sub

Private Sub IDDestino2_Change()

'Datos

With IDDestino2

If .ListIndex = -1 Then Exit Sub

If .Value = IDDestino1.Value And .ListIndex <> -1 Then

MsgBox "Ese Registro ya se encuentra", vbCritical

.ListIndex = -1

Destino2 = ""

Exit Sub

Else

Destino2.Text = .List(.ListIndex, 1)

End If

End With

End Sub

Private Sub Grabar1_Click()

'Grabar

Dim v1str As String

Dim UltFil As Long

Dim Tipo As String

Dim rngbsq As Range

'validaciones de datos

If Len(IDDestino1.Value) = 0 Then v1str = "-Campo de ID Destino vacio"

If Len(Destino1.Text) = 0 Then v1str = "-Campo de Destino vacio"

If Len(Valor1.Text) = 0 Then v1str = "-Campo de valor vacio"

If Len(Fecha1.Text) = 0 Then v1str = "-Campo de fecha vacio"

If Len(v1str) > 0 Then

If MsgBox("Favor de verificar lo siguiente:" & vbCrLf & vbCrLf & v1str & _

vbCrLf & vbCrLf & "¿Confirma que desea Guardar los datos?", vbQuestion + vbYesNo + vbDefaultButton1) = vbNo Then

Exit Sub

End If

End If

Sheets("Salidas").Select

Range(Range("a" & Rows.Count).End(xlUp)(2), Range("d" & Rows.Count).End(xlUp)(2)) = _

Array(IDDestino1.Value, Destino1.Text, Valor1.Text, Fecha1.Text)

If MsgBox("Se ha guardado la información ¿Desea Capturar más registros?", vbQuestion + vbYesNo) = vbYes Then

Limpiar1_Click

End If

End Sub

Private Sub Grabar2_Click()

'Grabar

Dim v1str As String

Dim UltFil As Long

Dim Tipo As String

Dim rngbsq As Range

'validaciones de datos

If Len(IDDestino2.Value) = 0 Then v1str = "-Campo de ID Destino vacio"

If Len(Destino2.Text) = 0 Then v1str = "-Campo de Destino vacio"

If Len(Valor2.Text) = 0 Then v1str = "-Campo de valor vacio"

If Len(Fecha2.Text) = 0 Then v1str = "-Campo de fecha vacio"

If Len(Justifique.Text) = 0 Then v1str = "-Campo de fecha vacio"

If Len(v1str) > 0 Then

If MsgBox("Favor de verificar lo siguiente:" & vbCrLf & vbCrLf & v1str & _

vbCrLf & vbCrLf & "¿Confirma que desea Guardar los datos?", vbQuestion + vbYesNo + vbDefaultButton1) = vbNo Then

Exit Sub

End If

End If

Sheets("Salidas").Select

Range(Range("F" & Rows.Count).End(xlUp)(2), Range("J" & Rows.Count).End(xlUp)(2)) = _

Array(IDDestino2.Value, Destino2.Text, Valor2.Text, Fecha2.Text, Justifique.Text)

If MsgBox("Se ha guardado la información ¿Desea Capturar más registros?", vbQuestion + vbYesNo) = vbYes Then

Limpiar2_Click

End If

End Sub

Private Sub Limpiar1_Click()

IDDestino1.Value = ""

Destino1.Text = ""

Valor1.Text = ""

Fecha1.Text = ""

End Sub

Private Sub Limpiar2_Click()

IDDestino2.Value = ""

Destino2.Text = ""

Valor2.Text = ""

Fecha2.Text = ""

End Sub

Private Sub Valor1_Exit(ByVal Cancel As MSForms.ReturnBoolean)

Valor1 = VBA.Format(Valor1, "###,###,###.00")

End Sub

Private Sub Disponible1_Exit(ByVal Cancel As MSForms.ReturnBoolean)

Disponible1 = VBA.Format(Disponible1, "###,###,###.00")

End Sub

Private Sub Restante1_Enter()

Restante1.Text = Val(Valor1.Text) - Val(Disponible1.Text)

Restante1 = VBA.Format(Restante1, "###,###,###.00")

End Sub

Private Sub Valor2_Exit(ByVal Cancel As MSForms.ReturnBoolean)

Valor2 = VBA.Format(Valor2, "###,###,###.00")

End Sub

Private Sub Disponible2_Exit(ByVal Cancel As MSForms.ReturnBoolean)

Disponible2 = VBA.Format(Disponible2, "###,###,###.00")

End Sub

Private Sub Restante2_Enter()

Restante2.Text = Val(Valor2.Text) - Val(Disponible2.Text)

Restante2 = VBA.Format(Restante2, "###,###,###.00")

End Sub

Private Sub Salir_Click()

Unload Me

End Sub

Private Sub Regresar_Click()

Unload Me 'Descarga objeto

UserForm1.Show 'Muestra y carga objeto

End Sub

Private Sub UserForm_Initialize()

IDDestino2.RowSource = "Datos!C2:D" & Application.WorksheetFunction.CountA(Sheets("Datos").Columns("C:C"))

IDDestino1.RowSource = "Datos!F2:G" & Application.WorksheetFunction.CountA(Sheets("Datos").Columns("F:F"))

Sheets("EntradasSalidas").Select

UserForm7.Disponible1 = [D4]

UserForm7.Disponible2 = [D4]

End Sub

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

×
×
  • Create New...

Important Information

Privacy Policy