Algún gurú de Excel que me ayude?

Responder
Avatar de Usuario
toyuma
10
10
Mensajes: 258
Registrado: Mié 20 Feb, 2019 4:25 pm

Algún gurú de Excel que me ayude?

Mensaje por toyuma »

Buenos días.
Nada que ver con loterías, pero me seria de gran ayuda que alguno de vosotros me resolviese el problemilla.

Tengo esta macro que hice yo mismo grabándola con Excel, la uso para controlar la caja diaria de un negocio, concretamente es para pasar al día siguiente, lunes, martes, miércoles, etc.
El problema está en que todos los meses tengo que modificarla cambiándole el mes Sheets("Febrero").Select.
La pregunta, ¿Cómo puedo hacerlo, por ejemplo para que haga la misma función en la hoja primera del libro, para no tener que modificarla mes tras mes? o si se os ocurre mejor solución que esta.
Pues nada muchas gracias, saludos a todos.


Sub Nuevo_dia10()
'
' Nuevo_dia10 Macro
'

'
Rows("3:3").Select
Selection.Delete Shift:=xlUp
Sheets("PLANTILLA").Select
Rows("4:8").Select
Selection.Copy
Sheets("Febrero").Select
Selection.Insert Shift:=xlDown
Range("K3").Select
End Sub
Avatar de Usuario
parapeto
12
12
Mensajes: 1466
Registrado: Mié 12 Oct, 2011 10:09 pm

Re: Algún gurú de Excel que me ayude?

Mensaje por parapeto »

Prueba a darle número a cada hoja en vez de sus nombres.

La primera de la izquierda es 1 y de ahí en adelante.

Sheets(1).Select

También puedes mirar si necesitas Month(Date) para obtener automáticamente el número de hoja aunque habría que ver cómo las tienes ordenadas y modificar lo que fuese necesario.

Por ejemplo si la primera es "plantilla" y "enero" la segunda pues usarías Sheets(1) para "plantilla" y Sheets(1+Month(Date)) para la hoja de cada mes aunque esto te puede ocasionar problemas el primer día de cada mes porque según entiendo los datos del 31 de enero los trabajarías el 1 de febrero. Otra opción sería poner en una celda el valor numérico del mes de trabajo y adaptar la macro.

Espero haber ayudado.
Avatar de Usuario
toyuma
10
10
Mensajes: 258
Registrado: Mié 20 Feb, 2019 4:25 pm

Re: Algún gurú de Excel que me ayude?

Mensaje por toyuma »

Que buena idea lo de dejar siempre la hoja nº1, creo que es buena solución, aunque en algún sitio creo haber leído que hay una opción para dirigirte a la pestaña primera.
Muchas gracias, un saludo.
Avatar de Usuario
parapeto
12
12
Mensajes: 1466
Registrado: Mié 12 Oct, 2011 10:09 pm

Re: Algún gurú de Excel que me ayude?

Mensaje por parapeto »

toyuma escribió:
Mar 02 Feb, 2021 7:13 am
Que buena idea lo de dejar siempre la hoja nº1, creo que es buena solución, aunque en algún sitio creo haber leído que hay una opción para dirigirte a la pestaña primera.
Muchas gracias, un saludo.
Ya lo puse: Sheets(1).Select
Avatar de Usuario
laguineu
11
11
Mensajes: 508
Registrado: Vie 30 Dic, 2011 2:25 pm

Re: Algún gurú de Excel que me ayude?

Mensaje por laguineu »

Puedes identificar( y seleccionar) las hojas según el NOMBRE del mes en función del día cuando corres la macro de la siguiente forma

nom_hoja = MonthName(Month(Now))
Sheets(nom_hoja).Select

Para que la identificación sea precisa , los nombres de las hojas debe ser escritos correctamente
Pero para que hagas una pequeña base de datos de tu pequeño negocio , no te aconsejo que hagas una hoja para cada mes , sino , todos los registros en una sola hoja , en una sola tabla (bien estructurada con la hora/día/mes /año y lo que deseas registras ) . Asi podrás sacar mas conclusiones sobre tu negocio de una forma mas limpia y mas fácil . Si vas a crear 12 hojas y para cada año un libro , a la hora de hacer algún balance o sacar algunos parámetros será bastante difícil ya que tendrás que juntar todas estas hojas (tablas) . Ya se que a primera vista resulta muy fea una tabla con todos estos datos , pero si tienes las fechas y la caja registrada para cada fecha , con un tablas dinámicas lo solucionas en 1 segundo , filtrando por el día/semana/mes/trimestre/año que deseas (usar segmentación de datos o escala de tiempo) , hacer graficas y tener una visión mas amplia sobre tu negocio

Surte !
Imagen
Avatar de Usuario
toyuma
10
10
Mensajes: 258
Registrado: Mié 20 Feb, 2019 4:25 pm

Re: Algún gurú de Excel que me ayude?

Mensaje por toyuma »

laguineu escribió:
Mié 03 Feb, 2021 8:15 pm
Puedes identificar( y seleccionar) las hojas según el NOMBRE del mes en función del día cuando corres la macro de la siguiente forma

nom_hoja = MonthName(Month(Now))
Sheets(nom_hoja).Select

Para que la identificación sea precisa , los nombres de las hojas debe ser escritos correctamente
Pero para que hagas una pequeña base de datos de tu pequeño negocio , no te aconsejo que hagas una hoja para cada mes , sino , todos los registros en una sola hoja , en una sola tabla (bien estructurada con la hora/día/mes /año y lo que deseas registras ) . Asi podrás sacar mas conclusiones sobre tu negocio de una forma mas limpia y mas fácil . Si vas a crear 12 hojas y para cada año un libro , a la hora de hacer algún balance o sacar algunos parámetros será bastante difícil ya que tendrás que juntar todas estas hojas (tablas) . Ya se que a primera vista resulta muy fea una tabla con todos estos datos , pero si tienes las fechas y la caja registrada para cada fecha , con un tablas dinámicas lo solucionas en 1 segundo , filtrando por el día/semana/mes/trimestre/año que deseas (usar segmentación de datos o escala de tiempo) , hacer graficas y tener una visión mas amplia sobre tu negocio

Surte !
Si creo que tienes razón, al principio estuve tentado, desistí por la enorme cantidad de datos en una sola tabla y creía que iba a ser mas inestable por su peso. Pero creo que te voy hacer caso.
Muchas gracias.
Saludos.
Responder