Saltar al contenido

Duplicación Hojas


pistacho

Recommended Posts

publicado

Buen día a toda la comunidad del foro,

En esta ocasión les escribo ya que debo crear aproximadamente 100 hojas dentro de un mismo libro, cada hoja debe ser igual, únicamente cambiando una celda de acuerdo a una base predefinida anteriormente (Hoja: "Listado" celdas C3:C102). En cada una de estas celdas existen textos de la siguiente manera: Hoja1, Hoja2, Hoja3 ... Hoja 100.

C3: Hoja1

C4: Hoja2

...

C102: Hoja100

Tengo una Hoja: "Base" en la cual busco que se duplique tal y como esta, lo único que debe cambiar es la celda C5 por el valor en C3 de la hoja "Listado" y la hoja debe llamarse "H1" según está formulado en la celda C1. Posteriormente que duplique la Hoja1 y en la celda C5 quede el valor en la celda C3 y la nueva hoja debe llamarse "H2". Asi hasta crear las 100 hojas en donde cada hoja tiene en la celda C5 y el nombre el valor de cada celda (C3:C102) de la hoja "Listado".

El archivo lo pueden encontrar en: https://drive.google.com/open?id=1eBdZbkCJ5T5QePVX6cXjk1VqEWVo_1wi

Quedo muy atento si necesitan algo adicional.

De antemano muchas gracias.

Invitado Cacho R
publicado
Hace 1 hora, pistacho dijo:

... debo crear aproximadamente 100 hojas ...

Hola! pistacho

Hacer lo que pides no ofrece mayores complicaciones...
Sin embargo debo decirte que ese libro -a priori- es candidato al premio (para nada deseado): Libro Mastodonte Mayor por sus cualidades de inmanejable y/o inoperable (Jajjjajajja :lol:).

Por lo que -y antes que "te metas" en semejante lío- pregunto: ¿No encontraste una mejor manera de manejar tu info que no sea "ésta"?... (¿querrías comentar que es lo que buscas hacer con "esto" para explorar alternativas?).

Saludos, Cacho R.

publicado

@Cacho R buen día,

Claro que si. El objetivo de esta macro es poder manejar en una hoja independiente el presupuesto y ejecución de diferentes sedes de un supermercado, en donde cada hoja representa un punto en especifico, asociado a una ciudad y país.

Entiendo que un libro de cien hojas no puede ser muy atractivo pero es necesario.

Si necesitas algo adicional quedo atento.

publicado
Hace 1 hora, pistacho dijo:

@Cacho R buen día,

Claro que si. El objetivo de esta macro es poder manejar en una hoja independiente el presupuesto y ejecución de diferentes sedes de un supermercado, en donde cada hoja representa un punto en especifico, asociado a una ciudad y país.

Entiendo que un libro de cien hojas no puede ser muy atractivo pero es necesario.

Si necesitas algo adicional quedo atento.

El problema no es crear las hojas, el problema va a ser después controlar esas hojas... por mi experiencia es mejor tener los datos en una sola hoja, ahí puedes tener la información de 1000 tiendas incluso, y de esta sacas reportes en una hoja auxiliar de cada tienda, de la información que quieras. Pero si es un proyecto real no te aconsejo que lo hagas en Excel, para ese tamaño de sedes y el tamaño de la información va a ser grande.... bien pueden pagar un Sistema especializado en Gestor de Base de Datos. SGBD.

Saludos.

Invitado Cacho R
publicado
Hace 2 horas, pistacho dijo:

El objetivo de esta macro es poder manejar en una hoja independiente el presupuesto y ejecución de diferentes sedes de un supermercado, en donde cada hoja representa un punto en especifico, asociado a una ciudad y país.

- Ok... Entiendo que quieras manejar "esto" mediante Excel.

- Pero -ahora- razonemos juntos: tu siguiente solicitud al Foro será pedir dos macros: una que te "arme" un índice en la primera hoja del libro (y ya llegamos a 101 hojas, jajjjajaja) de modo que haciendo click en un enlace "saltes" a la hoja/sucursal asociada y -ya- estando en esa hoja la otra macro que al hacer click en un botón te haga volver al índice de la primera hoja, ¿No es cierto?...

- En tal caso mi propuesta es: ¿Y si en lugar de saltar "de hoja en hoja" tienes la info de cada sucursal en libros distintos?... Para una macro es lo mismo "saltar" a una hoja del mismo libro que "saltar" a la única hoja de otro libro.

- De ese modo "ganas" en todos los rubros: eficiencia, manejo discreto y si un libro "se degrada" (por la causa que sea) sólo tendrás problemas con esa sucursal y no con todas las sucursales de toda tu empresa.

¿Entiendes la idea?...
Saludos, Cacho R.
.

publicado
Hace 4 minutos , Cacho R dijo:

- De ese modo "ganas" en todos los rubros: eficiencia, manejo discreto y si un libro "se degrada" (por la causa que sea) sólo tendrás problemas con esa sucursal y no con todas las sucursales de toda tu empresa.

Entonces tendra 101 libros por lo menos... Jajaja, como dices tu Cacho R si llegando a 30 Libros yo ya me pongo nervioso... Jajaja

Saludos.

Invitado Cacho R
publicado
Hace 1 minuto , Leopoldo Blancas dijo:

si llegando a 30 Libros yo ya me pongo nervioso... Jajaja

¡Cierto (solo pensarlo me entran "escalofríos")!...

Pero: ¡Qué le vas a hacer!... ¡Tienen un centenar de sucursales y -aparentemente- administrar las cosas mediante una BBDD no es una opción!

:rolleyes:

publicado
Hace 1 minuto , Cacho R dijo:

Pero: ¡Qué le vas a hacer!... ¡Tienen un centenar de sucursales y -aparentemente- administrar las cosas mediante una BBDD no es una opción!

:rolleyes:

Cierto, por eso es mejor un verdadero SGBD.

Saludos.

Invitado Cacho R
publicado

Un ejemplo sencillo de lo que sugiero:

Ejemplo 892.7z

Utilización: un "doble click" sobre alguna de las celdas de cada sucursal y se despliega el archivo correspondiente.

publicado

@Cacho R gracias. entiendo el funcionamiento del archivo. siguiendo tu recomendación lo que podría hacer es crear máximo 5 libros, y cada uno de estos con 20 hojas diferentes, de las cuales debería duplicar las hojas 20 veces y con un solo clic.

 

Logro visualizar en tu archivo que efectivamente crea un libro con el nombre deseado, lo que para el caso que busco sería que este fuera el nombre de la Hoja.

 

Gracias!

 

publicado

No hagas caso a cantos de sirena, la cantidad de hojas no es lo importante, lo importante es la cantidad de datos que contiene.

En cuanto al tema de una posible corrupción del archivo, basta hacer una copia de seguridad regularmente.

Con la hoja Listado activada ejecuta esta macro.

Sub CrearHojas(): On Error Resume Next
Application.ScreenUpdating = False
Application.DisplayAlerts = False
For Each celda In Range("G3:G102")
   Sheets(celda.Value).Delete
   Sheets("Base").Copy After:=Sheets(Sheets.Count)
   With ActiveSheet
      .[C2] = celda.Offset(, -3).Value
      .[C3] = celda.Offset(, -2).Value
      .[C4] = celda.Offset(, -1).Value
      .[C5] = celda.Value
      .Name = celda.Value
   End With
Next
End Sub

Mañana te subo una utilidad para navegar por las hojas.

publicado

@Antoni Disculpame, estaba validando en la macro y efectivamente me crea las hojas, y el nombre es el que debería ser.

Sin embargo, en las hojas creadas la celda C5 tiene el nombre H1, H2, H3.... etc .... en esta celda especificamente debe quedar "Hoja 1" - "Hoja 2" y asi hasta llegar a "Hoja 100" esto debido a las formulas con BuscarV que se encuentran atadas a esta celda C5.

De resto esta perfecta.

publicado

@Antoni te dejo el Link con el archivo y la macro creada por ti para ser un poco más claro con mi solicitud.

https://drive.google.com/open?id=1LZDGAuyAh-Q3P9OqbtgBdoZUW4jk1SkP

Si necesitas algo adicional quedo muy atento.

@Leopoldo Blancas gracias por tu aporte y satisface lo solicitado, sin embargo puede que a veces sea H1 y otras veces H1,P1,C1;R1, es por esto que la de Antoni aplica un poco mejor porque se basa en el listado.

 

Invitado Cacho R
publicado
Hace 6 horas, pistacho dijo:

debe quedar "Hoja 1" - "Hoja 2" y asi hasta llegar a "Hoja 100"

Y... ¡Ése es el peligro de "conformarse" con lo que pediste en lugar de lo que necesitás!...

Así que: ¡Te espero en unas semanas/meses de vuelta por aquí para que te solucionemos este desaguisado!...

Saludos para todos (en especial a mi Amigo Antoni), y hasta la próxima. :rolleyes:

Invitado Cacho R
publicado
Hace 4 minutos , pistacho dijo:

Muchas gracias a todos:)

¡Por el contrario!... ¡Gracias a vos por "tolerar" las mutuas chanzas que nos "jugamos" Antoni y quien -aquí- te saluda!

  • Silvia bloqueó este tema

Archivado

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

  • 109 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Current Donation Goals

    • Raised 0.00 EUR of 130.00 EUR target
  • Archivos

  • Estadísticas de descargas

    • Archivos
      187
    • Comentarios
      97
    • Revisiones
      28

    Más información sobre "Un juego del Rabino en Excel"
    Última descarga
    Por pegones1

    1    1

  • Crear macros Excel

  • Mensajes

    • Vale mil gracias, en vdd se agradece todo el apoyo y comentarios
    • Hola nuevamente. Por eso la importancia de lo que mencionas tú como "ruta relativa". Tal cual comentas, y aún sin llegar a algunos detalles importantes para ayudarte, en realidad tal cual te comenté le día miércoles, pues sí podías hacer como comentabas, era cosa de obtener los Id de Windows (como tú los llamas) y la ruta de OneDrive en casa usuario y eso sí se puede obtener con VBA y luego pasarlo a PQ, pero medio que te cerraste en que "PQ no puede trabajar con rutas relativas", cosa cierta pero siempre hay formas. Si SAP puede o no guardar en OneDrive o SharePoint, pues si está mapeado en la PC ¡claro que se puede! Pero bueno, creo que si te es útil tu propia propuesta ¡avanza con eso!
    • Perdona @Abraham Valencia pero he estado liado estos días. En realidad todo el problema se reduce a estos dos problemas: Problema 1: El script que "fabrica" SAP y que luego "pego" en la macro, no es capaz de  guardar archivos en SharePoint. He estado buscando, y en realidad muchas personas tienen ese problema (no poder guardar un Excel en SAP a través de VBA). Eso muy probablemente sean problemas de permisos, que no puedo cambiar (no soy administrador de nada). Como no puedo solucionarlo así, paso al plan B, que es guardar en Excel que me genera SAP en el ordenador de cada usuario que ejecute la plantilla (y que sí está guardada en SharePoint), para después con PowerQuery llamar a ese Excel (el export). Para ello, pretendo guardar el export, en la ruta relativa "C:\..\..\..\OneDrive - NombreEmpresa\Documentos\SAP\SAP GUI" donde los \..\..\..\ saltan las rutas personales de cada usuario (tipo C:\users\IDusuario\). Eso lo hace bien, y el archivo se guarda en la ruta de cada usuario que lo usa, pero surge el problema 2 Problema 2: PowerQuery no trabaja con rutas relativas del tipo  "C:\..\..\..\OneDrive - NombreEmpresa\Documentos\SAP\SAP GUI" necesita que sea del tipo fija "C:\users\IDusuario\OneDrive - NombreEmpresa\Documentos\SAP\SAP GUI" pero claro, IDusuario es diferente para cada usuario.   Pero escribiendo todo esto, creo que he dado con una posible solución, no grabar el export en una ruta de usuario, sino en una en la raiz de C:, que siempre será igual para todos los usuarios, del tipo C:\Sap\export.xlsx que seria igual en todos los ordenadores. Asi sí podría decirle a PowerQuery que vaya siempre a la ruta C:\Sap\ que existirá en todos los ordenadores. Mañana intentaré hacer pruebas, aunque mi solución ideal seria que se pudiera guardar en el SharePoint. Saludos.
    • Hola La opción brindada por @torquemada es correcta, funciona, pero hay algunos inconvenientes que (desde mi punto de vista) no la convierten en mi primera elección. Los inconvenientes son: Tendrías que ir columna por columna haciendo los reemplazos, claro que no se harían a mano sino que utilizarías la opción reemplazar o la opción texto en columnas, aun asi demorará un poquito y será trabajoso. Cada vez que descargues otro listado, tendrás que volver a realizar los reemplazos. Me parece una mejor propuesta lo siguiente: Descarga los movimientos a un archivo de Excel Desde tu control de pagos (otro archivo) cargas los movimientos del archivo descargado mediante Power Query Power Query hará los reemplazos y reconocerá todo correctamente (sin que tengas que hacer nada especial) Cuando descargues los movimientos un día posterior, solamente tendrás que hacer clic en "Actualizar" y todo funcionará en automático
    • Hola a todos, Efectivamente, me temo que tal como trabajan las funciones =HOY() y/o =AHORA() (volátiles), sólo con macros puedes obtener soluciones. Un recurso pedestre podría ser, cada vez que quieras que se fije un dato, te sitúes en esa celda y pulses F2, F9 e INTRO.  Pero claro, puede ser un inconveniente si hay que hacerlo repetitivamente en muchas ocasiones,.............. en fin, lo comento sólo como posibilidad. Saludos,
  • Visualizado recientemente

    • No hay usuarios registrado para ver esta página.
×
×
  • 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.