Jump to content
  • Debido a la crisis sanitaria, hasta el día 31 de marzo, el registro al foro de Ayuda Excel será totalmente gratuito para facilitar el teletrabajo. Todos los registros que se produzcan entre estas fechas tendrán acceso gratuito ilimitado a la comunidad hasta el 30 de abril.

    Regístrate

    Si te surge alguna duda mientras estás trabajando en casa con Excel, ya tienes a quien preguntar.

    Espero que esta medida te sirva de ayuda. Frenar la expansión del coronavirus depende de todos. Sé responsable.

Sign in to follow this  
JSDJSD

Modificar macro para hacerla más eficiente y profecional

Recommended Posts

Tal y como tengo la macro en los dos formulario me funciona pero no la veo practica, quisiera saber como puedo hacer para no tener que usar el recurso de poner un punto en la columna L y M para poder definir la ultima linea cada vez que introduzco un artículo tanto  en almacén 1 o en el Almacén 2.

Las líneas de almacén 1 y 2 no tienen por que ser las que muestro  en el ejemplo si no que pueden ser más, pero si tienen que estar dispuestas  tal cual los muestro en dicho ejemplo.

Prueba1.xlsb

Share this post


Link to post
Share on other sites

Qué tal @JSDJSD

Te dejo una posible solución para el almacén 1, ya que dices que la disposición debe ser la de tu hoja

Private Sub CommandButton1_Click()
Dim i As Long

With Sheets("Almacenes")

If Range("A2") = "" Then
    i = .Range("A1:A14").End(xlUp).Row + 1
    Else
    i = .Range("A1:A" & Rows.Count).End(xlDown).Row + 1
End If

Hoja1.Range("A" & i).Value = TextBox1.Value
Hoja1.Range("B" & i).Value = TextBox2.Value
Hoja1.Range("C" & i).Value = TextBox3.Value

End With

MsgBox "Pulse para Continuar"

TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""

TextBox1.SetFocus
   
End Sub

 

Share this post


Link to post
Share on other sites

Hola Haplox, tu modificación lo que me hace es que me completa filas hasta llegar a A14 y despues me salta a A16 para no machacar la línea Almacen 1.

Creo que no me he explicado bién, el propósito es : centrandonos por ejemplo en el formulario Almacen 2 al presionar el botón guardar que me valide los datos de este formulario a partir de la celda A16, independientemente de que en este caso Almacen 1 no estén completas todas las líneas, también decirte que  y así susecibamente en todos los almacenes que pudiera crear.

El formulario para el tercer almacen no lo he puesto, pero creo que viendo el resultado del formulario Almacen 2 seré capaz de adaptarlo, en total tendría 7 almacenes.

Pido disculpas por no haberme dado cuenta del error a la hora de poner los nombres de Almacen 1 Almacen 2 y Almacen 3

Prueba1.xlsb

Share this post


Link to post
Share on other sites
Hace 19 horas, JSDJSD dijo:

Tal y como tengo la macro en los dos formulario me funciona pero no la veo practica, quisiera saber como puedo hacer para no tener que usar el recurso de poner un punto en la columna L y M para poder definir la ultima linea cada vez que introduzco un artículo tanto  en almacén 1 o en el Almacén 2.

Las líneas de almacén 1 y 2 no tienen por que ser las que muestro  en el ejemplo si no que pueden ser más, pero si tienen que estar dispuestas  tal cual los muestro en dicho ejemplo.

Prueba1.xlsb

Hola @JSDJSD me imagino a que te refieres a desplazar el cursor dar clic en los botones. Tienes dos opciones:

  1. Utilizar la barra de acceso rápido en donde puedes asignarles unos botones a la macro y con lo cual puedes usar atajos desde teclado,
  2. La otra es utilizar controles activex en lugar de controles de formulario. Los controles activex tienen una propiedad accelerator que te permite poner un atajo desde teclado a los botones.


Saludos!

Share this post


Link to post
Share on other sites

Como siempre, sorprendente Antoni lo has clavado muchísimas gracias, y como no agradecerte a tí también Haplox tu entrega y dedicación e interés por resolver mi pregunta que se que por culpa mía a la hora de explicarme no entendiste mi propósito te pido perdón y al mismo tiempo te lo agradezco a ti y a digitalboy que tampoco me entendió.

Tema solucionado.

 

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


CTA Templates.png