¿Crear carpeta según valor de celda y guardar una copia de mi libro en esa carpeta creada?

Quisiera saber si puedo generar una carpeta con valor de la celda a2 hasta f50 pero que se crea la carpeta con valor de la celda a2 y mi libro me lo guarde en esa carpeta.

Respuesta
1

Mi amigo necesito de tu ayuda! Primero quiero darte las gracias por responder el post y luego quiero preguntarte algo:

Primero quiero decirte que este código me sirve a la perfección:

Sub crearcarpeta2()

'Por.DAM
ruta = "C:\Excel\"

arch = Range("A2")

If Dir(ruta & "\" & arch, vbDirectory) = "" Then
   MkDir ruta & "\" & arch

End If

Range("A2:F50").Copy

Workbooks.Add

ActiveSheet.Paste

ActiveWorkbook.SaveAs ruta & arch & "\" & arch

End Sub

Sin embargo, este botón del macro necesito ponerlo en una pagina diferente a la que quiero guardar, es decir, tengo 3 hojas en el libro de excel: hoja1 - hoja2 y hoja3

Quiero que me guarde una copia en una carpeta con el nombre de una celda especifica (A13) únicamente de la "hoja3" pero el botón macro necesito ubicarlo desde la hoja1 para mayor rapidez!

Será posible!?

1 respuesta más de otro experto

Respuesta
2

Esta parte no la entiendo: "generar una carpeta con valor de la celda a2 hasta f50".

La siguiente macro te crea una carpeta con lo que tengas en la celda A2 y te guarda el archivo en esa carpeta.

Sigue las Instrucciones para ejecutar la macro
1. Abre tu archivo de excel
2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
3. En el menú elige Insertar / Módulo
4. En el panel del lado derecho copia la macro
5. Para ejecutarla presiona F5

Sub crearcarpeta2()
'Por.DAM
 ruta = ActiveWorkbook.Path
 nom = ActiveWorkbook.Name
 If Dir(ruta & "\" & Range("A2"), vbDirectory) = "" Then
  MkDir ruta & "\" & Range("A2")
  ActiveWorkbook.SaveAs ruta & "\" & Range("A2") & "\" & nom
 End If
End Sub

Saludos.Dante AMor

Si es lo que necesitas.

Perdón si no supe explicar lo que pasa que en mi hoja de trabajo tengo varios datos desde la celda a2 hasta la celda f50 pero la celda a2 seria la que llevaría el nombre de la carpeta y dentro de esa carpeta se guardarían mis datos de la celda a2 hasta la celda f50.

Espero y con esto poder aclarar la duda que tengo.

Gracias, saludos!!

Sigo sin entender lo que necesitas

Vamos por partes

1. En la celda "A2" tienes un dato, ¿correcto?

2. Quieres que se cree una carpeta con ese dato, ¿correcto?

3. En las celdas de la A2 a la F50, tienes varios datos, ¿qué quieres hacer con estos datos?

4. A qué le llamas: "dentro de esa carpeta se guardarían mis datos de la celda a2 hasta la celda f50"

Muchas gracias por la atención y espero explicarme mejor:

Con los puntos 1 y 2 es correcto que pueda crear la carpeta con la celda a2.

3. Con los datos que tengo de la A2 a la F50 copie la información y la guarde en un libro nuevo dentro de la carpeta que se genero de la celda A2.

He intentado generar la carpeta con el valor de la celda pero no he podido que se copie y guarde mi información dentro de la carpeta.

Busque dentro de sus comentarios y esto es lo que tengo y me falta que guarde el libro dentro de la carpeta ya que mi LIBRO me la guarda hasta la carpeta de EJEMPLO y no dentro de la carpeta que se creo con la celda a2

Sub Botón1_Haga_clic_en()
ejemplo = ("C:\Cuentas\EJEMPLO\" & Range("A2"))
MkDir ejemplo
Range("A2:F50").Select
Selection.Copy
Workbooks.Add
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveWorkbook.SaveAs Filename:=ejemplo & Range("A2") & ".xlsx" _
, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
ActiveWorkbook.Close
End Sub

Ojala y me haya explicado y reiterando las gracias por el apoyo.

Ahhhhh. Nunca mencionaste que querías crear un nuevo libro.

Quedaría así:

Sub crearcarpeta2()
'Por.DAM
ruta = "C:\trabajo\EJEMPLO\"
arch = Range("A2")
If Dir(ruta & "\" & arch, vbDirectory) = "" Then
   MkDir ruta & "\" & arch
End If
Range("A2:F50").Copy
Workbooks.Add
ActiveSheet.Paste
ActiveWorkbook.SaveAs ruta & arch & "\" & arch
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas