Hola,
Tengo una base de datos donde estan varios datos.
Consultando el inter he podido hacer los siguientes cambios con macros:
Que el texto que escriba salga en mayuscula
Que lo que ingrese en el formato se copie en otra hoja como un reporte
Que cada usuario tenga un correlativo.
Que si no llenan dos celdas salga un aviso de error
Que el correlativo avance cada vez que se ejecuta la macro
Errores
Cada vez que se ingresa todos los datos y no se llena la celda asignada sale el error (cosa que esta bien) pero se borran los datos que escribi y encima se avanza un correlativo y se copia en el reporte. Cosa que no deberia suceder mi idea era que regrese a la celda para seleccionarla correctamente y de ahi recien se grabe y avance el correlativo
Por favor su ayuda ya que voy un dia busque y busque y arreglo algo pero malogro algo tambien
Soy Amateur en Macros Plis Ayudenme
Mediante macros se pueden hacer las cosas de muchas maneras diferentes.
Es difícil poder ayudarte con una pregunta tan genérica y que incluye varias dudas juntas.
Es mejor plantear las dudas una por una en temas separados del foro y si es posible adjuntar un archivo con el ejemplo de lo que falla o lo que no sabes cómo hacer mucho mejor. Así será más facil que alguien pueda ayudarte.
------
Ya sé Excel, pero necesito más.
Por un lado tienes validaciones para cambiar el texto a mayúsculas. Esto se produce en el evento Worksheet_Change de la hoja, allí compruebas si tienes o no datos y los pasa a mayúsculas con la función UCase
Por otro lado tienes un botón en la hoja que realiza otra serie de validaciones y copia los datos a la hoja donde guardas estos datos. Esto lo hace ejecutando la macro Macro1 que tienes en el Módulo4 del código.
En realidad la macro símplemente copia los datos a la lista y luego borra los datos del formulario.
Llama a la función MessageBox y realiza una comprobación de la celda G6, pero si no hay dato no se detiene
Así que lo que puedes hacer es modificar la función MessageBox que has definido para que termine la ejecución del código si no es correcto.
Esta es tu función (la tienes en el Módulo3 de tu código), he añadido sólo una instrucción END
Sub MessageBox()
If Range("G6") = Empty Then
MsgBox "FALTA COMPLETAR DATOS EN LA FUENTE", 64, "Aviso SGS Academy"
' añade esta línea de código para terminar si falta este dato
END
' fin del añadido
Else
End If
Application.EnableEvents = False
End Sub
------
Ya sé Excel, pero necesito más.