Guardar planillas en Excel con Macros

Hola a todos. Explico básicamente que pretendo
Tengo una planilla estándar, donde lleno campos de pedidos cuyo encabezado que está en la celda A3 se llena con nombres de clientes de una lista generada previamente. La idea mía es que cada vez que llene la planilla seleccione un comando guardar y me lo guarde en forma sucesiva en una carpeta que llevará el nombre del cliente para generar un archivo. ¿Se puede lograr eso? Por favor si pueden ayudarme se los agradeceré

1 respuesta

Respuesta
1
En la planilla tienes que dibujar un rectángulo, luego darle un click con el botón derecho y poner donde dice asignar macro, luego grabas una y la detienes en el momento de iniciar, vas a macros, marcas esta que acabas de hacer y le das donde dice paso a paso, luego pones esta instrucciones:
Sub Rectángulo_Haga_clic_en()
'
' Rectángulo_Haga_clic_en Macro
'
    Evaluate1 = Evaluate("=now()")
    a = Format(Evaluate1, " dd-mm-yyyy")
    Evaluate2 = Range("a3")
    b = Format(Evaluate2, "")
    Range("E14").Select
    ActiveSheet.Shapes.Range(Array("1 Rectángulo")).Select
    Selection.Delete
    ActiveWorkbook.SaveAs Filename:= _
    "C:\users\juan\Desktop\" & b & a & ".xls", FileFormat:=xlExcel8, Password:="", WriteResPassword:="", _
    ReadOnlyRecommended:=False, CreateBackup:=False
  End Sub
Lo que esta en negrita es la ruta donde se van a grabar los archivos, fíjate donde los vas a guardar, yo hice que te lo guearde con el nombre del cliente más la fecha, osea, perez 23/01/2011, esta fecha es la de tu maquina. Cualquier duda consulta
Por lo que veo, es lo que necesito, gracias de antemano, pero me sale un error que dice" error 1004 en tiempo de ejecución, no se encontró el elemento con el nombre especifocado"... Pongo depurar y colorea lo siguiente ActiveSheet.Shapes.Range(Array("1 Rectángulo")). Select
¿Qué podrá ser?, ¿El cuadro de comando se debe hacer en algún lugar especificado?
Ese error es porque no encuentra el rectángulo... tienes dos opciones una es borrar la parte que dice esto
Range("E14").Select
    ActiveSheet.Shapes.Range(Array("1 Rectángulo")).Select
    Selection.Delete
Y la otra solución que es la que intentaría yo es revisar si el rectángulo tiene el mismo nombre, osea fíjate en la parte que esta en negrita.
Para fijarte lo que podes hacer es dibujar un rectángulo, graba una macro y hacele click con el derecho sobre el rectángulo para la macro y anda paso a paso, fíjate que te va a aparecer el nombre del rectángulo, reemplaza con ese nombre a lo que esta en negrita
Avisame cualquier duda
Hola nuevamente, ahí revisé el tema del nombre del rectángulo pero seguía pasando lo mismo. Procedía a eliminar lo que me dijiste pero al ejecutar la macro aparece ahora "Error en el método SaveAs de objeto... Workbook" presiono depurar y me resalta
  ActiveWorkbook.SaveAs Filename:= _
    "D:\Mis documentos\German2009\" & b & a & ".xls", FileFormat:=xlExcel8, Password:="", WriteResPassword:="", _
    ReadOnlyRecommended:=False, CreateBackup:=False
La ruta de acceso es esa, ¿qué puede ser?
La verdad es que no se que podría ser, si podes mandame la planilla a la dirección... [email protected] ... que reviso la planilla y te la reenvío, un dato más que office tienes, no creo que sea eso pero por las dudas.
Sino ahora más tarde me fijo con más tiempo
Ahí te envíe por correo la planilla tipo, el adjunto se llama Planilla de pedido, y mi correo es el g_arl
Espero tu respuesta cuando puedas
Ya te la reenvíe, tendría que funcionar ya que la probé en mi maquina y anduvo bien.
Realmente es un enigma, desconoce la ruta y luego me borra el rectángulo, no encuentra el elemento. La verdad no se que es lo que falla o fallo ajaja
German hace una cosa entra a internet y en el lugar donde escribís la página web, pone c:
Y anda eligiendo hasta donde quieres que te guarde el archivo, fíjate si es la misma ruta que tienes vos, sino lo que podemos hacer es instalarte el tiemviewer 5 que te lo paso por e-mail, y entro a tu pc de manera remota, me tendrías que pasar la clave, que siempre cambia, y lo veo... si aceptas este método te podes quedar tranquilo porque vas a ver todo lo que hago y miro si ves algo que no te gusta me desconctas y listo.
Avisame cualquier cosa
Te agregue en el chat ya que tengo el timeviewer y cuando te vea conectado vemos el asunto
Yo toy en este momento conectado así que avisame
La verdad, te debo agradecer tu disposición, tu buena onda y tu compromiso a quienes tenemos dudas, de más está decir que la respuestas fue lo que necesitaba, 10 puntos. Muchas gracias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas