En Macro Excel Para edición datos de identificación Empresa

Te envíe nuevo archivo, precisamente el que me acabas de enviar te lo renvie para que sea desde ese que es el completo.

En la hoja dejo una descripción, espero Dios me ayude para que se entienda l oque expuse

1 respuesta

Respuesta
1

H o l a:

No creo que Él pueda ayudarte, tienes que ayudarte tu mismo.

¿Esto qué pusiste es una petición? ¿O simplemente una explicación?

"Marcar el CheckBox1 "Marca para insertar datos finales", llenar los textBox 6 al 12 con datos y luego pisar el boton Insertar"


No seas tan breve en la explicación, escribe un enunciado por cada paso que quieres realizar.

Paso 1, abrir formulario.

Paso 2, presionar el xxxxxxx

Paso 3, llenar los campos a,b,c,d,e,f,etc

Paso 4, etc, etc, etc,

Tienes que hacer una lista.


Antes de enviarme cualquier explicación, realiza el siguiente ejercicio.

Qué pasos realizarías para cambiar una llanta o neumático de un automóvil, escribe paso por paso.

Escribe el ejercicio y después continuamos con tu macro.

Amigo DAM, en la hoja dejé explicito (creo) lo que pretendo ahora, EDITAR, datos de identificación de las celdas C8, E8, J8, D9, G9 y K9 y D46

La parte Inserción y edición de datos (producto (rango D11 al D45)) ya lo hace y muy bien, olvidemos esa parte, falta la EDICIÓN de datos identificativos, EDICIÓN porque la inserción ya lo haceLa edición de los datos identificativos aun no lo haceAquí va el procedimiento (ejecución) paso por paso de como debe procederse para tal fin 1º Abrir Form (si no esta abierto)2º Marcar el CheckBox1 "Marca para insertar datos finales" y LLENAR el ComboBox1 con el dato de la celda K9 o E8 o J8. Cualquier de las 3 sirve una3º Seleccionar el dato en el ComboBox1 y llenar los textBox 6 al 12 con datos de las respectivas celdas C8, E8, J8, D9, G9 y K9 y D46Se debe ver así:C8 = TextBox6, E8 = TextBox7, J8 = TextBox8, D9 = TextBox9, G9 = TextBox10, K9 = TextBox11 y  D46 = TextBox124º Hacer la corrección (EDICIÓN (manualmente)) en los TextBoxs y LUEGO VALIDAR con el botón "INSERTAR"

¿Y el ejercicio del neumático?

Escribe cada paso del ejercicio en un renglón nuevo.

Leí este tu mensaje anterior y me pareció no tener que responder a ello, pero volví y aquí estoy respondiéndote, un tanto receptivo y otro tanto mmmmm.

Soy una persona con 68 años y cambie mucho neumático de mi carro, siempre que se espichaba y tenía que cambiarlos por X motivo.

En esto de macros, no soy experto, técnico o sabio, por lo contrario, soy nulo en esto y por tal motivo, recurrí a ti como siempre he visto que eres una persona amiga y altruista para ayudarme (darme tu experiencia) en estos asuntos y otros (muchos) en los cuales has estado presente con tu sabiduría.

Usé el tiempo en estudios de otra índole, mecánica diésel y pesada, (maquinaria pesada) oficio que me gusta, aun hoy ejerzo con gusto, no tanto como cuando tenía mis 20, 30, 40, 50 años pero aún le doy duro, pues mi sobrevivencia y de mi familia, dependen de mi trabajo, camino en esto desde mis 16 años, tengo 68.

El procedimiento para llegar a Editar los datos de las celdas referidas te lo he enviado, no conozco el código ni me encuentro capacitado para tal construcción.

Me disculpo ante ti DAM y te pido perdón por estas palabras y por mi falta de conocimiento en estos menesteres de macros o todo que tenga que ver con macros, formulas etc. DE VERDAD, VERDAD, ya estoy en neutro porque no encuentro otra forma o manera de indicarte el procedimiento para poder EDITAR las celdas C8, E8, J8, D9, G9 y K9 y D46 desde el formulario de la forma, manera y procedimiento que te he pedido, ¿proceder para cambiar una llanta?, (neumático, caucho, rueda de carro, etc.), aun lo hago cuando se me presenta algún problema de ese tipo, antier con ayuda tuvimos que cambiar uno de un PayLoader 992H Caterpillar que es más alto que tú y que yo mismo y mas de 1 metro de ancho.

espero contar con tu experiencia y sabiduria en estos menesteres

H o l a:

No tienes que disculparte, con todo gusto te ayudo a lo que necesites. De hecho jamás te he pedido que me expliques las macro o cómo tengo que hacer la macro, lo único que pido es que me expliques paso a paso lo que necesitas, el ejercicio del neumático es muy básico y no quieres explicarlo, no sé por qué. Si no puedes escribir un ejercicio de cambio de neumático entonces tampoco querrás escribir un ejercicio para el proceso de excel.

Recuerdo que estoy aquí para ayudarte, pero si no me ayudas a ayudarte, no puedo adivinar qué es lo que quieres.

No te pido que seas experto en macros o en excel, solamente tienes que hacer una lista de pasos, así de simple, pones el paso1 y un enunciado, pones el paso2 y otro enunciado y así hasta llegar al paso final.

Paso 1, reviso cuál es la llanta que se averió.

Paso 2, abro la cajuela del auto.

Paso 3, saco la herramienta.

Paso 4, saco la llanta buena

Paso 5, etc

Paso 6, etc.

Te invito a que hagas el ejercicio conmigo.

Sal u dos.

HA ha, ahi voy

No te pido que seas experto en macros o en excel, solamente tienes que hacer una lista de pasos, así de simple, pones el paso1 y un enunciado, pones el paso2 y otro enunciado y así hasta llegar al paso final.

Si voy en marcha y me doy cuenta de que algo malo está pasando con una llanta

Paso 1, Paro el auto en una parte donde no cause peligro y tenga seguridad

Paso 2, Salgo del auto

Paso 3, reviso cuál es la llanta que se averió.

Paso 4, coloco señal en la vía a una distancia reglamentaria

Si esta estacionado el auto o en el garaje y veo que tiene una llanta espichada o mala

Paso 1, abro la cajuela del auto.

Paso 2, saco la herramienta.

Paso 3, levanto el carro del lado de la llanta mala,

Paso 4, suelto la llanta mala y la aparto

Paso 5, saco la llanta buena de la cajuela (maleta se dice acá)

Paso 6, meto la llanta mala en la cajuela

Paso 7, coloco la llanta buena donde quite la mala

Paso 8, Aprieto los seguros de la llanta

Paso 9, bajo el carro

Paso 10, meto la herramienta en la cajuela

Paso 11, cierro la cajuela

Paso 12, si voy de viaje, chequeo y completo niveles de todos los puntos visibles y de fácil acesso como aceite, refrigerante, líquido de frenos, aceite de la caja de velocidades y nivel de gasolina (gas)

Todo está perfecto

Paso 13, me siento en el puesto del piloto

Paso 14, pongo el motor en marcha

Paso 15, meto velocidad de 1ª marcha y

Paso 16, me marcho de viaje para unas vacaciones y olvidarme de este mundo cruel

Jejejjeee

Lo propio

Te lo hice

1º Paso = Abrir Form (si aún no está abierto)

2º Paso  = Marcar el CheckBox1 "Marca para insertar datos finales" y LLENAR el ComboBox1 con el dato de la celda K9 o E8 o J8. Cualquier de las 3 sirve una

3º Paso  = Seleccionar el dato en el ComboBox1 y llenar los textBox 6 al 12 con datos de las respectivas celdas C8, E8, J8, D9, G9 y K9 y D46

Se debe ver así: C8 = TextBox6, E8 = TextBox7, J8 = TextBox8, D9 = TextBox9, G9 = TextBox10, K9 = TextBox11 y  D46 = TextBox12

4º Paso  = Hacer la corrección (EDICIÓN (manualmente)) en los TextBoxs y LUEGO VALIDAR con el botón "INSERTAR"

5º Paso   Cerrar el formulario

Te anexo el código:

Private Sub CheckBox2_Click()
'Act.Por.Dante Amor
    Dim i
    '
    'Si está activo el check de datos de identificación,
 'entonces es para modificar los datos de identificación
    If CheckBox2 And CheckBox1 Then
        TextBox6 = Range("C8")   'Fecha
        TextBox7 = Range("E8")   'Nombre Empresa
        TextBox8 = Range("J8")   'Repuestos para
        TextBox9 = Range("D9")   'Serial Maq/Mot.
        TextBox10 = Range("G9")  'Marca
        TextBox11 = Range("K9")  'Modelo/Ident.
        TextBox12 = Range("D46") 'Notas
        Exit Sub
    End If
    '
    If CheckBox2 Then
        ComboBox1.Enabled = True
        'carga nuevamente el combo por los registros nuevos
        ComboBox1.clear
        For i = 11 To Range("B" & Rows.Count).End(xlUp).Row
            ComboBox1.AddItem Cells(i, "D")
        Next
    Else
        ComboBox1.Enabled = False
        TextBox1 = "": TextBox2 = "": TextBox3 = "": TextBox4 = "": TextBox5 = "": ComboBox1 = ""
    End If
End Sub

sal u dos

Como dicen por las calles; no se que haría sin tu ayuda jajajajjaja

Mui pero mui bien peeeeeeeeeero, raios, nunca falta un pero:

Entonces no hace falta el Combo para la edición de datos identificativos pero para producto si.

Voy hacer yo para cuando marque el CheckBox 2 para la edición de datos identificativos, el Combo no sea visible, visible solo para la edición de datos producto.

Gracias maestro. No me calificaste por lo del axamen del cambio de llanta (caucho)

Tienes Excelente en el cambio de llantas.

Pero, siempre hay un pero como tú dices, jajaja.

Si ponemos tu secuencia de pasos en una Estructura o en una Jerarquía de vas a dar cuenta qué va primero y qué va después.

En tu secuencia de pasos, solamente cambiaría el paso 6 por el paso 7.

En la siguiente estructura verás por qué:

Paso 1, abro la cajuela del auto.
    Paso 2, saco la herramienta.
        Paso 3, levanto el carro del lado de la llanta mala,
            Paso 4, suelto la llanta mala y la aparto
                Paso 5, saco la llanta buena de la cajuela (maleta se dice acá)
                    Paso 7, coloco la llanta buena donde quite la mala
                Paso 6, meto la llanta mala en la cajuela
            Paso 8, Aprieto los seguros de la llanta
        Paso 9, bajo el carro
    Paso 10, meto la herramienta en la cajuela
Paso 11, cierro la cajuela

El paso 1 con el 11 (abro - cierro)

El paso 2 con el 10 (saco - meto)

El paso 3 con el 9 (levanto - bajo)

El paso 4 con el 8 (suelto - aprieto)

El paso 5 con el 6 (saco - meto)

El paso 7 coloco la llanta.


No se necesita ser experto en macros o en excel para realizar una lista de pasos y que estos pasos tenga una lógica.

Si me explicas con pasos de forma lógica, yo puedo identificar en dónde empieza la tarea y en dónde termina, pero si me pones todo revuelto, solamente trataré de adivinar (poder divino), lo que realmente quieres.

Gracias por hacer el ejercicio de la llanta, espero que con la explicación de la estructura puedas ver que, así como el cambio de la llanta, también en excel se tiene que poner cuidado de cuando inicias y cuando terminas.

Sal u dos

Podrías colocar la(s) línea(s) necesarias para cuando edite un dato de Productos, se atualise en el Combo también.

Se da el caso que edito un producto, Botón Insertar se actualiza en la hjoja pero no se actualiza en el Combo.

Coloque las líneas del evento UserForm_Initialize() para el llenado del combo en evento Insertar em este punto

    Else
        'Productos
        If CheckBox2 Then
            'modifica producto
            u = ComboBox1.ListIndex + 11
    ComboBox1.clear
    For Each celda In Range("D11:d" & Range("B" & Rows.Count).End(xlUp).Row)
        If celda <> Empty Then ComboBox1.AddItem celda.Value
    Next
        Else

pero no me sale

Ahí va el código:

Private Sub cmbInsertar_Click()
'Por.Dante Amor http://www.todoexpertos.com/preguntas/6dfdswlh5iak7bjd/correccion-para-macro-excel-para-insertar-datos-mandando-error
'Obligar a llenar las cajas del 6 al 9
    Dim vcs, vtx, i, LastRow, u
    Application.ScreenUpdating = False
    If CheckBox1 Then
        'inserta datos empresa
        If TextBox6 = "" Or TextBox7 = "" Or TextBox8 = "" Or TextBox9 = "" Then
            MsgBox "Completar los datos", vbExclamation
            TextBox6.SetFocus
            Exit Sub
        End If
        '
        If Not IsDate(TextBox6) Then
            MsgBox "Capturar una fecha válida", vbExclamation
            TextBox6.SetFocus
            Exit Sub
        End If
        '
        Range("C8") = TextBox6  'Fecha
        Range("E8") = TextBox7  'Nombre Empresa
        Range("J8") = TextBox8  'Repuestos para
        Range("D9") = TextBox9  'Serial Maq/Mot.
        Range("G9") = TextBox10 'Marca
        Range("K9") = TextBox11 'Modelo/Ident.
        Range("D46").Value = Left(TextBox12.Value, 450) 'Notas
    Else
        'Productos
        If CheckBox2 Then
            'modifica producto
            u = ComboBox1.ListIndex + 11
        Else
            'inserta producto
            u = Range("b" & Rows.Count).End(xlUp).Row + 1
        End If
        Cells(u, "B") = TextBox1  'Item #
        Cells(u, "C") = TextBox2  'Producto #
        Cells(u, "D") = TextBox3  'Descripcion del Producto
        Cells(u, "J") = Val(TextBox4)  'Cant.
        Cells(u, "K") = TextBox5 'Pagina #
        '
        ComboBox1.clear
        For i = 11 To Range("B" & Rows.Count).End(xlUp).Row
            ComboBox1.AddItem Cells(i, "D")
        Next
    End If
    'ActiveSheet.Protect Password:="123"
    Application.ScreenUpdating = True
    TextBox1 = "": TextBox2 = "": TextBox3 = "": TextBox4 = "": TextBox5 = "": TextBox6 = "": _
    TextBox7 = "": TextBox8 = "": TextBox9 = "": TextBox10 = "": TextBox11 = "": TextBox12 = ""
    ComboBox1 = ""
End Sub

sal u dos

Casi siempre me acerco pero no entro

Cuanto al examen, hay varias formas de hacer un cambio de llanta, así mismo varias formas de hacer ciertas cosas

La idea de la llanta, y me parece que no entendiste; es que aprendas a explicar un procedimiento, realmente no me interesa si hay 10 o 20 maneras de cambiar una llanta, lo que me interesa es que aprendas a explicar las cosas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas