UniversoExcelForo

Respuesta a consultas.
Fecha de creación: 09.Abril.2012

Fundadores: Wibly,Tyno,Servando,Sakkar,Rosendo2,RMaximo,Railar,Mcoronel,Ioyama,Igtelo,Hugotron,Drochar,Dedos,Alberto,Adolfo

No se pueden hacer consultas de Excel o VBA por mensaje privado.
Utiliza el botón buscar del foro y te ahorras tiempo para obtener "ayuda".

No estás conectado. Conéctate o registrate

Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje [Página 1 de 1.]

zizumm


Estoy intentando hacer una macro sobre un archivo original (un albarán) para que me convierta dicho archivo original (un albarán) en otro archivo de Excel distinto (una factura).

El archivo final (la factura) debería guardarse con el nombre del número de la factura, es decir la celda A14 del archivo final.  En este archivo final (factura) se realizan unos pequeños cambios respecto al archivo original (albarán) que he resaltado en rojo, los cambios únicamente son cambiar la palabra factura por la palabra albarán, y extraer el numero de la factura.
No se mucho de Vbasic, con lo que únicamente soy capaz de crear la macro que me realice los cambios, pero no consigo de ninguna manera, que estos cambios se creen en un nuevo archivo y que se guarde el archivo con el nombre del contenido de la celda A14.

Si alguien me pudiera ayudar estaría muy agradecido
Archivos
libro1.xlsx
No tienes los permisos para descargar los archivos.
(18 KB)

tyno


Hola zizumm, bien venido al foro.
Te paso este archivo al cual le hice una macro para copiar la factura de la Hoja "archivo final" y guardarlo con el nombre de la celda A14.

Por cierto, como un archivo no se puede guardar con la barra / es que en el nombre del archivo guardado se reemplaza por un guion medio -. El archivo nuevo se guarda en la misma ubicación donde tienes el archivo principal.

El archivo que te envío esta en Excel 2003 pero si te sirve lo guardas como Libro habilitado para macros.
Lo mismo el archivo con la copia de la factura se guarda como Excel 2003 entonces en el Editor de Macros  tendrías que ir al Modulo "macro_copia_fact" y modificar la linea que te indico abajo para el archivo sea guardado como .xlsx :

guardado = ThisWorkbook.Path & "\" & Replace(Range("a14"), "/", "-") & ".xls"

tiene que quedar: 

guardado = ThisWorkbook.Path & "\" & Replace(Range("a14"), "/", "-") & ".xlsx"

Saludos



Última edición por tyno el 23/01/14, 02:13 pm, editado 1 vez

zizumm


muchas gracias por tu interés tyno, 

no veo por ningun sitio la macro que has creado para el archivo, ni tampoco como ejecutarla, ni en modulos ni en objetos.

como lo hago? gracias de nuevo

tyno


Mis disculpas, subi el archivo equivocado:
Archivos
prueba.zip
No tienes los permisos para descargar los archivos.
(13 KB)

zizumm


vaya es genial tino, muchisimas gracias

seria facil hacer que los archivos finales se guardaran en una carpeta distinta a los archivos originales?

tyno


Si se puede hacer lo de guardar en una carpeta distinta, tendrías que pasarme la dirección o ruta donde quieres que se guarden los archivos, si esta carpeta esta en Mis Documentos en tu PC entonces tendrías una dirección como esta: "C:Mis Documentos\mi_carpeta", o como sea dependiendo del sistema operativo que tengas y el lugar donde quieras guardar. 

O bien si te animas a hacerlo tendrías que ir al módulo donde esta la macro, como te lo indiqué hoy, y en la linea que te muestro del código agregar la dirección:

Sub macro_copia()
On Error Resume Next
Application.ScreenUpdating = False
guardado = ThisWorkbook.Path & "\" & Replace(Range("a14"), "/", "-") & ".xls"

En este caso cambiar ThisWorkbook.Path por la ruta que corresponde, quedaría algo así esa linea:


guardado =  "C:Mis Documentos\mi_carpeta" & "\" & Replace(Range("a14"), "/", "-") & ".xls"

Saludos

zizumm


muy amable tyno, copiare la direción donde me has dicho, es perfecto

por ultimo hay una cosa mas, no inserte en el ejemplo por no hacer mas pesado el archivo el logo de la empresa que tengo puesto como una imagen entre los datos del cliente y los datos de la empresa, (lo tengo insertado como imagen tanto en la factura como en el albaran) habria manera de que tambien apareciera en el archivo final "factura" esta imagen una vez aplicada la macro?

muchas gracias por tu interes, me has ayudado mucho
un saludo

tyno


¿te refieres a si aparecería la imagen en la copia que se crea? Supongo que tendría que copiarse la imagen a parte de los datos, siempre y cuando este dentro del rango que es copiado. Saludos

zizumm


si, me refiero exactamente a eso, 
la imagen si estaria dentro de los rangos seleccionados, ya que la tengo ubicada en la cabezera de la factura, entre los datos del cielte y los datos de la empresa.

sabes como podria copiar la imagen del albaran a la factura q se crea?

gracias de nuevo

tyno


Hola zizumm

Debajo de la linea que tiene la variable"guardado", la que tu le modificaste la ruta, borra en tu código todo lo mismo que esta remarcado en azul  y pega justamente lo que esta en azul, luego lo pruebas:


Sub macro_copia()
On Error Resume Next
Application.ScreenUpdating = False
guardado = xxxxxxxxxxxxxxxxxxxxxx


Range("a1:g65").Select
    Selection.Copy
    Workbooks.Add
    ActiveSheet.Paste
    Range("A13:A14").Select
    Application.CutCopyMode = False
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    Range("a1").Select
    ActiveWorkbook.SaveAs Filename:=guardado, FileFormat:= _
        xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
        , CreateBackup:=False
    ActiveWindow.Close
    Application.ScreenUpdating = True
    Range("a17").Select
    
    
End Sub

zizumm


vale genial tyno, muchas gracias por todo.

me encantaria saber Vbasic  afro

Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.