Saltar al contenido

Crear macro para copiar hoja y renombrar en base a lista variable


jumarcano

Recommended Posts

publicado

buenos días,

Tengo el siguiente macro. Es para copiar una hoja y dar nombre de acuerdo a una lista. Sin embargo, cuando agrego un nombre mas en la lista me da erro.

Alguien me puede ayudar?

Sub Copia()

   Dim C As Range   

   Application.ScreenUpdating = False   

   For Each C In Range("A2", Range("A" & Rows.Count).End(xlUp))

      Sheets("Molde").Copy , Sheets(Sheets.Count)

      With ActiveSheet

         .Range("A5") = ? .Name = Left(C.Offset(, 1), 31)

      End With

   Next C   

   Application.ScreenUpdating = True

End Sub

 

Ejemplo Copiar Hoja.xlsm

publicado
Hace 17 minutos , jumarcano dijo:

buenos dias,

Tengo el siguiente macro. Es para copiar una hoja y dar nombre de acuerdo a una lista. Sin embargo, cuando agrego un nombre mas en la lista me da erro.

Alguien me puede ayudar?

Sub Copia()
   Dim C As Range
   
   Application.ScreenUpdating = False
   
   For Each C In Range("A2", Range("A" & Rows.Count).End(xlUp))
      Sheets("Molde").Copy , Sheets(Sheets.Count)
      With ActiveSheet
         .Range("A5") = ? .Name = Left(C.Offset(, 1), 31)
      End With
   Next C
   
   Application.ScreenUpdating = True
End Sub

Ejemplo Copiar Hoja.xlsm 29 kB · 0 descargas

Pedon es esta la macro

Sub Copia()
Dim C As Range
'--
Application.ScreenUpdating = False
For Each C In Range("A4", Range("A" & Rows.Count).End(xlUp))
   Sheets("ModeloS").Copy , Sheets(Sheets.Count)
   With ActiveSheet
     .Range("B3") = C
     If Len(.Name) > 31 Then
        .Name = Left(C.Offset(, 1), 31)
     Else
        .Name = C
     End If
   End With
Next C
Application.ScreenUpdating = True
End Sub
 

publicado

La macro tal como la tienes solo puede ejecutarse 1 vez, también has de tener cuidado con que los nombres no se dupliquen.

Aclara un poco más el error y en que circunstancias se produce.

publicado
Hace 8 minutos , Antoni dijo:

La macro tal como la tienes solo puede ejecutarse 1 vez, también has de tener cuidado con que los nombres no se dupliquen.

Aclara un poco más el error y en que circunstancias se produce.

Gracias por tu pronta respuesta.

Exactamente ocurre una vez. Ocurre el error cuando agrego un nombre mas a la lista asi no sea duplicado. Por ejemplo tengo 20 nombres difrentes y agrego el 21 totalmente diferente y me da error

publicado
Hace 43 minutos , jumarcano dijo:

Gracias por tu pronta respuesta.

Exactamente ocurre una vez. Ocurre el error cuando agrego un nombre mas a la lista asi no sea duplicado. Por ejemplo tengo 20 nombres difrentes y agrego el 21 totalmente diferente y me da error

por eso,lo que quiero es que cuando agregue un nombre diferente en la lista cree la copia con el nombre nuevo.

Es decir que si tengo  20 nombres diferentes, pueda crear la hoja 21 con su nombre

Producto1 con su hoja Producto1
Producto2 con su hoja Producto2
Producto3 con su hoja Producto3
Producto4 con su hoja Producto4
Producto5 con su hoja Producto5
Producto6 con su hoja Producto6
Producto7 con su hoja Producto7
Producto8 con su hoja Producto8
Producto9 con su hoja Producto9
Producto10 con su hoja Producto10
Producto11 con su hoja Producto11
Producto12 con su hoja Producto12
Producto13 con su hoja Producto13
Producto14 con su hoja Producto14
Producto15 con su hoja Producto15
Producto16 con su hoja Producto16
Producto17 con su hoja Producto17
Producto18 con su hoja Producto18
Producto19 con su hoja Producto19
Producto20 con su hoja Producto20
Producto21 con su hoja Producto21
publicado

Hola @jumarcano

A la macro que tienes, le agregué una pequeña comprobación para que si el nombre de la hoja existe, no la cree nuevamente.

Dicha función es una adaptación a una enseñanza de @Antoni para suplantar las propiedades "EnableEvents" en un formulario.

Puedes probar para ver si es lo que necesitas?

Que tengas una buena jornada!

ae20190921_Ejemplo Copiar Hoja.xlsm

publicado
En 21/9/2019 at 15:38 , tierra_pampa dijo:

Hola @jumarcano

A la macro que tienes, le agregué una pequeña comprobación para que si el nombre de la hoja existe, no la cree nuevamente.

Dicha función es una adaptación a una enseñanza de @Antoni para suplantar las propiedades "EnableEvents" en un formulario.

Puedes probar para ver si es lo que necesitas?

Que tengas una buena jornada!

ae20190921_Ejemplo Copiar Hoja.xlsm 28 kB · 3 descargas

Gracias por tu excelnte respuesta. Pero me da error en el archivo que quiero adaptarlo

publicado

Por favor si 

En 21/9/2019 at 15:38 , tierra_pampa dijo:

Hola @jumarcano

A la macro que tienes, le agregué una pequeña comprobación para que si el nombre de la hoja existe, no la cree nuevamente.

Dicha función es una adaptación a una enseñanza de @Antoni para suplantar las propiedades "EnableEvents" en un formulario.

Puedes probar para ver si es lo que necesitas?

Que tengas una buena jornada!

ae20190921_Ejemplo Copiar Hoja.xlsm 28 kB · 4 descargas

Por favor, te agreceria que revisaras mi archivo. Este archivo me esta dando error usando la misma formula que me enviaste.

La vez pasada no logre subir el archivo por el fichero. Intento por mega. Espero puedas revisarlo

Gracias nuevamente por tu respuesta

https://mega.nz/#!95NFHCZY!hco2CBpYyIcdUbiiX3ZpR5qtzqjG9w0KGMZcIkrNUGc

publicado

Hola @jumarcano

Te dejo un nuevo archivo para que compruebes si es lo que necesitas.

Como los nombres de hoja eran muy largos los modifiqué a una letra y sus respectivos valores numéricos. Si no los quieres de dicha manera, avisas y lo eliminamos.

Si te ayudó la colaboración recibida, puedes agradecerlo con un click en el corazón que se encuentra en la parte inferior derecha del comentario.

Suerte!

ae20190924_post42166_Macro Argentina.xlsm

publicado
Hace 19 horas, tierra_pampa dijo:

Hola @jumarcano

Te dejo un nuevo archivo para que compruebes si es lo que necesitas.

Como los nombres de hoja eran muy largos los modifiqué a una letra y sus respectivos valores numéricos. Si no los quieres de dicha manera, avisas y lo eliminamos.

Si te ayudó la colaboración recibida, puedes agradecerlo con un click en el corazón que se encuentra en la parte inferior derecha del comentario.

Suerte!

ae20190924_post42166_Macro Argentina.xlsm 54 kB · 1 descarga

Muchas garcias. Es lo que estaba buscando. En cuanto a los nombres esta bien..... es mas facil buscar

saludos

publicado
Hace 23 horas, tierra_pampa dijo:

Hola @jumarcano

Te dejo un nuevo archivo para que compruebes si es lo que necesitas.

Como los nombres de hoja eran muy largos los modifiqué a una letra y sus respectivos valores numéricos. Si no los quieres de dicha manera, avisas y lo eliminamos.

Si te ayudó la colaboración recibida, puedes agradecerlo con un click en el corazón que se encuentra en la parte inferior derecha del comentario.

Suerte!

ae20190924_post42166_Macro Argentina.xlsm 54 kB · 4 descargas

Disculpa la molestia.

Como los nombres de hoja eran muy largos los modifiqué a una letra y sus respectivos valores numéricos. Si no los quieres de dicha manera, avisas y lo eliminamos.

Quiero eliminar el nombre corto y su valor numerico. Hice una prueba ahorita y es mejor el nombre completo. Solo tengo que buscar el nombre. Si no tengo que adivinar cual es el vendedor.

Por ejemplo

Vendedor 1 es Pedro Peres

Vendedor 2 Luisa Rosal

Entonces necesito que la hoja se llame, Pedro Peres, Luisa Roral..... ect

Gracias de antemano

ae20190924_post42166_Macro Argentina.xlsm

publicado

hola @jumarcano

Dejo un nuevo archivo para tu comprobación.

Cómo no explicaste dónde iban los nombres de los vendedores, las hojas se crearán con el nombre que ingreses en la columna "B" (como en el primer archivo que subiste al foro). Puedes poner cualquier nombre (siempre que Excel lo admita).

Cualquier problema, nos seguimos contactando por el foro.

Suerte!

ae20190926_post42166_Ejemplo Copiar Hoja_v3.xlsm

publicado
En 26/9/2019 at 20:24 , tierra_pampa dijo:

hola @jumarcano

Dejo un nuevo archivo para tu comprobación.

Cómo no explicaste dónde iban los nombres de los vendedores, las hojas se crearán con el nombre que ingreses en la columna "B" (como en el primer archivo que subiste al foro). Puedes poner cualquier nombre (siempre que Excel lo admita).

Cualquier problema, nos seguimos contactando por el foro.

Suerte!

ae20190926_post42166_Ejemplo Copiar Hoja_v3.xlsm 66 kB · 0 descargas

Tienes razon, no indique donde. Los nombre van en la columna A. Todos los vendedores tienen nombre

Entonces, necesito que se utilice la columna A

Archivado

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

×
×
  • 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.