Saltar al contenido

macro para crear archivos


Recommended Posts

publicado

Hola chikos, estoy acá craneandomelas para crear una macro que me tome el rango con datos y me cree los archivos. segun lo indique el rango.

adjunto un ejemplo donde ya he logrado que un for me tome los datos del rango en una variable pero lo que me tiene complicada es como le indico que me cree 1 archivo con la cantidad de hojas que indica el rango. es complicado de explicar pero en el ejemplo seguro que entenderán mi problemática.

desde ya le agradezco a cualquiera que quiera aportar un granito de arena a este caso y así poder entender.

lo importante es que si yo el día de mañana quiero agregar una hoja nueva al archivo frutas por ejemplo pueda intertar una fila dentro del rango y agregar los datos correspondientes y la macro lo asocie automáticamente. 

me parece que un array me podría servir pero aun no lo logro comprender para usarlo.

Bueno que tengan lindo día estaré atenta a sus comentarios, gracias por su atención y aporte...

ejemplo.rar

publicado

Prueba con esta macro:

Sub Crear_Archivos_Y_Hojas()
Dim Archivo As String, Hoja As String, Existe As Boolean
Dim H As Worksheet, x As Long, Estado As String
Estado = Application.StatusBar
Application.ScreenUpdating = False
Application.DisplayAlerts = False
For x = 2 To Range("B" & Rows.Count).End(xlUp).Row
   Archivo = Range("C" & x) & "\" & Range("B" & x) & ".xlsx"
   Hoja = Range("D" & x)
   Application.StatusBar = Archivo & " " & Hoja
   If Dir(Archivo) = "" Then
      Workbooks.Add
   Else
      Workbooks.Open Archivo
   End If
   Existe = False
   For Each H In Sheets
      If H.Name = Hoja Then
         Existe = True
      End If
   Next
   If Existe = False Then
      Sheets.Add
      ActiveSheet.Name = Hoja
      ActiveWorkbook.SaveAs Archivo
   End If
   ActiveWorkbook.Close
Next
Application.StatusBar = Estado
End Sub

 

  • Silvia bloqueó este tema

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.