Copiar celdas en diferentes hojas de un libro.
Hola Dante,
Hace poco me ayudaste con un código para poder copiar de un libro a otro y que se copie en diferentes hojas según los datos en la celda "D5".
Por favor necesito que en este código me ayudes con unos procesos más que debe cumplir:
- Cuando la macro crea una nueva hoja la crea con el nombre que esta en la celda "D5", esta celda en el libro que va a ser copiado tiene muchos ceros adelante Ejemplo: "00000000876", por lo tanto la nueva hoja tiene el nombre: "00000000876". Intente sumarle un cero y con eso se quita los ceros, pero al ponerlo en la macro no me funciona bien al copiar una hoja que ya existe, me sale un error 1004. Cómo podría nombrar la hoja sin los "0"
- Siempre que copie los datos de un libro a otro cuando sea una hoja nueva lo comience hacer desde la columna F.
- Cuando copie los datos a una hoja que ya existe lo haga en la columna siguiente, es decir, si ya hay datos en la columna F, que lo haga en la G, y así sucesivamente.
- Por ultimo que todas las columnas a partir de la F tengan un ancho de 40
De antemano muchas gracias por tu valiosa ayuda.
Sub Copiar_informacion_adjuntos() Application.ScreenUpdating = False Set l1 = ThisWorkbook ruta = "C:\Users\z003bpca\Desktop\Bitacora\" arch = "copy_Reporte.xls" If Dir(ruta & arch) = "" Then MsgBox "El archivo Reporte no existe en la ruta", vbCritical Exit Sub End If ' Set l2 = Workbooks.Open(ruta & arch) Set h2 = l2.Sheets("Sheet0") Num = h2.Range("D5").Text If Num = "" Then MsgBox "La celda D5 no contiene datos", vbExclamation l2.Close False Exit Sub End If ' existe = False For Each h In l1.Sheets If h.Name = Num Then existe = True Set h1 = h Exit For End If Next ' If existe = False Then l1.Sheets.Add after:=l1.Sheets(l1.Sheets.Count) Set h1 = ActiveSheet h1.Name = Num End If ' h2.Range("O42:O99").Copy h1.Range("A1") l2.Close False l1.Save MsgBox "Copia realizada", vbInformation End Sub
1 respuesta
Respuesta de Dante Amor
1