Saltar al contenido

Reporte de Varias Columnas y Edicion De Datos


Celest3

Recommended Posts

publicado

Hola a todos, espero que me puedan ayudar con este tema,

quiero realizar un reporte de la siguiente condicion si es menor de 40 entonces que pase a la hoja Programación, ejemplo:

1 .- si motor o electrico o hidraulico o calibracion o MANTO5000 o reparacion < 40 entonces deben pasar todos los equipos que cumplan esa condición a la hoja programacion, asi como el ejemplo puesto en esa hoja. todo esto en el Comando Consulta

2.- en comando Registar abrira un frm este carga en 1er combo solo los equipos programados, en este frm esta casi listo, lo que no puedo realizar, es que al guardar un registro este debe actualizar el horometro para el siguiente mantenimeinto, ejemplo:

si es tractor17 y Tservico es motor, seria Textbox1 + 300 este dato debe guardarse en la hoja Palnificacion columna Motor del equipo escogido

si es x tractor y tservico es electrico, seria Textbox1 + 900 este dato debe guardarse en la hoja Palnificacion columna electrico del equipo escogido

si es x tractor y tservico es Hidraulico, seria Textbox1 + 1500 este dato debe guardarse en la hoja Palnificacion columna Hidraulico del equipo escogido

si es x tractor y tservico es calibracion, seria Textbox1 + 2000 este dato debe guardarse en la hoja Palnificacion columna Calibracion del equipo escogido

si es x tractor y tservico es manto5000, seria Textbox1 + 5000 este dato debe guardarse en la hoja Palnificacion columna Manto5000 del equipo escogido

si es x tractor y tservico es Reparacion, seria Textbox1 + 15000 este dato debe guardarse en la hoja Palnificacion columna Reparacion del equipo escogido.

Adjunto archivo, con los avances realizados

espero me puedan ayudar o dar algunas sugerencias.

Saludos,

Celest3

Planificacion.rar

publicado

Amigos sobre el Punto Numero 2 ya he podido realizar esa operacion, por favor me pueden ayudar con el punto numero 1.

1 .- si motor o electrico o hidraulico o calibracion o MANTO5000 o reparacion < 40 entonces deben pasar todos los equipos que cumplan esa condición a la hoja programación, asi como el ejemplo puesto en esa hoja. todo esto en el Comando Consulta

Este codigo utilize para el punto 2

[/COLOR]'Dim Tservicio As Integer



If Me.ComboBox1 = Empty Then Exit Sub

Sheets("Historico").Activate
Sheets("Historico").Range("A2").Select
Do While ActiveCell <> Empty
ActiveCell.Offset(1, 0).Select
Loop


ActiveCell = Trim(UCase(Me.ComboBox1.Value))
ActiveCell.Offset(0, 1) = Trim(UCase(Me.ComboBox2.Text))
ActiveCell.Offset(0, 2) = Format(Me.TextBox1.Text, "#,###,0.00")
ActiveCell.Offset(0, 3) = CDate(Format(Me.TxtFecha.Text, "dd/mm/yyyy"))




ult = Sheets("Planificacion").Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To ult
If Sheets("Planificacion").Cells(i, 1) = Trim(UCase(Me.ComboBox1.Text)) And Trim(UCase(Me.ComboBox2.Text)) = "MOTOR" Then

Sheets("Planificacion").Cells(i, 4) = Format(CDbl(Me.TextBox1), "###00.00") + 300

ElseIf Sheets("Planificacion").Cells(i, 1) = Trim(UCase(Me.ComboBox1.Text)) And Trim(UCase(Me.ComboBox2.Text)) = "HIDRAULICO" Then
Sheets("Planificacion").Cells(i, 5) = Format(CDbl(Me.TextBox1), "###00.00") + 1500

ElseIf Sheets("Planificacion").Cells(i, 1) = Trim(UCase(Me.ComboBox1.Text)) And Trim(UCase(Me.ComboBox2.Text)) = "ELECTRICO" Then
Sheets("Planificacion").Cells(i, 6) = Format(CDbl(Me.TextBox1), "###00.00") + 900

ElseIf Sheets("Planificacion").Cells(i, 1) = Trim(UCase(Me.ComboBox1.Text)) And Trim(UCase(Me.ComboBox2.Text)) = "CALIBRACION" Then
Sheets("Planificacion").Cells(i, 7) = Format(CDbl(Me.TextBox1), "###00.00") + 2000

ElseIf Sheets("Planificacion").Cells(i, 1) = Trim(UCase(Me.ComboBox1.Text)) And Trim(UCase(Me.ComboBox2.Text)) = "MANTO5000" Then
Sheets("Planificacion").Cells(i, 8) = Format(CDbl(Me.TextBox1), "###00.00") + 5000

ElseIf Sheets("Planificacion").Cells(i, 1) = Trim(UCase(Me.ComboBox1.Text)) And Trim(UCase(Me.ComboBox2.Text)) = "REPARACION" Then
Sheets("Planificacion").Cells(i, 9) = Format(CDbl(Me.TextBox1), "###00.00") + 15000


End If
Next

Me.ComboBox1 = "": Me.ComboBox2 = "": Me.TextBox1 = "": Me.TxtFecha = ""


MsgBox "Datos Guardados Corectamente", vbExclamation, "Aviso de Sistema"

End Sub[COLOR=#333333][/CODE]

a la espera de tu apoyo como siempre.

Saludos,

Celest3[/color]

publicado

Amigos, alguna sugerencia ?

seguire intentando otras opciones, talvez 1 macro que recorra 1ero la columna de motor si en cuenta un dato menor o igual que 40 pase el codigo del tractor, el tipo de servicio en este caso Motor y el tiempo horometro que falta. depues que recorrio la columna motor pasa a la siguiente, y asi hasta llegar a la columna reparacion.

estare en linea a ver si me dan alguna sugerencia.:02.47-tranquillity:

Gracias,

Celest3

publicado

Gracias Armando Montes, por responder, tratare de explicarme mejor:

al abrir el frm y seleccionar un equipo en los textox cambiaran de color rojo si es menor igual que 40.

en la base de datos hay columnas motor, hidraulico, electrico, calibracion, etc debajos de estos esta el proximo horometro para su mantenimeinto.

yo busco realizar una macro que hga un reporte por maquina y tipo de servicos todos aquellos menor igual a 40.

los que cumplan este criterio pasan a la hoja programacion, (ver hoja programacion de ejemplo).

si tienes alguna duda estoy en linea y te respondo, espero me puedas ayudar.

Saludos,

Celest3

Pd: el textbox horoemtro, sirve para actualizar este dato y se graba directamente en la hoja. el comando Update, sirve para guardar.

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.