Copia de hoja con nombre predefinido.

10/11/2008 - 10:51 por Goldberg00 | Informe spam
Hola!

Tengo una libro donde genero facturas, presupuestos, etc. y con un botón he
creado una macro (no tengo ni idea de VBA) para extraer sólo la factura o
sólo el presupuestos, o... etc. Me gustaría, porque lo van a utilizar otros,
que cuando genero la copia extraída en un nuevo archivo que estuviera
identificado con el número de presupuesto, factura, albarán, etc., es decir,
de un campo definido en la propia hoja... ¿es posible?

Desde ya gracias por cualquier consejo que podáis darme.

Saludos,

G00

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
10/11/2008 - 22:58 | Informe spam
hola, 'anonimo/a' !

Tengo una libro donde genero facturas, presupuestos, etc. y con un boton he creado una macro
(no tengo ni idea de VBA) para extraer solo la factura o solo el presupuestos, o... etc.
Me gustaria, porque lo van a utilizar otros, que cuando genero la copia extraida en un nuevo archivo
que estuviera identificado con el numero de presupuesto, factura, albaran, etc.
es decir, de un campo definido en la propia hoja... es posible?...



en la linea donde "pasas" el nombre al generar la copia extraida, solo agrega "el dato" (tomado del "campo definido")

(p.e.) -> "el nombre que le asignas" & " " & <aqui el campo definido>

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#2 Kröhm
11/11/2008 - 11:03 | Informe spam
Hola Héctor Miguel.

Gracias por tu respuesta!
Seguro que es la adecuada pero conociendo mis dotes con VBA es lógico que no
sea capaz de incorporar la solución a mi macro.

Lo que hago es crear, con la grabación de macro activda, y haciendo clic con
el botón derecho sobre la pestaña en cuestión, una copia en un archivo
diferente del que estoy trabajando. Esa copia es la que quiero guardar con el
nombre de uno de los campos que es el número de factura, por ejemplo.

He revisado el código y no sé exactamente dónde incrustar lo que me dices.
Te pego el código para ver si lo estoy haciendo bien:


Sub extraefactura()
'
' extraefactura Macro
' Macro grabada el 11/11/2008 por John Krohm
'

'
Sheets("fra").Select
Sheets("fra").Copy
End Sub

Si ves que podemos hacer algo, fantástico.

Gracias de nuevo!

Kröhm
Respuesta Responder a este mensaje
#3 Kröhm
11/11/2008 - 17:12 | Informe spam
Por cierto, entro con otro nombre porque no sé que co*one le pasa a la otra
dirección. Sorry por el despiste!

John Kröhm



"Kröhm" escribió:

Hola Héctor Miguel.

Gracias por tu respuesta!
Seguro que es la adecuada pero conociendo mis dotes con VBA es lógico que no
sea capaz de incorporar la solución a mi macro.

Lo que hago es crear, con la grabación de macro activda, y haciendo clic con
el botón derecho sobre la pestaña en cuestión, una copia en un archivo
diferente del que estoy trabajando. Esa copia es la que quiero guardar con el
nombre de uno de los campos que es el número de factura, por ejemplo.

He revisado el código y no sé exactamente dónde incrustar lo que me dices.
Te pego el código para ver si lo estoy haciendo bien:


Sub extraefactura()
'
' extraefactura Macro
' Macro grabada el 11/11/2008 por John Krohm
'

'
Sheets("fra").Select
Sheets("fra").Copy
End Sub

Si ves que podemos hacer algo, fantástico.

Gracias de nuevo!

Kröhm


Respuesta Responder a este mensaje
#4 Juan M
11/11/2008 - 17:51 | Informe spam
Hola John,

En tanto regresa Héctor, mira a ver si te sirve esto:
Debes cambiar el Range("A1") por la celda donde se situa el texto que da el
nombre al libro.
También debes tener en cuenta si quieres grabarlo en el mismo directorio que
el libro que tiene la macro o no.
Recuerda que los nombres de los archivos no permiten caracteres como ?, *,
/, \, ", <, >


Sub extraefactura()
Sheets("fra").Copy
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" &
ActiveSheet.Range("A1") & ".xls"
End Sub

Un saludo,
Juan




"Kröhm" escribió
Por cierto, entro con otro nombre porque no sé que co*one le pasa a la
otra
dirección. Sorry por el despiste!

John Kröhm



"Kröhm" escribió:

Hola Héctor Miguel.

Gracias por tu respuesta!
Seguro que es la adecuada pero conociendo mis dotes con VBA es lógico que
no
sea capaz de incorporar la solución a mi macro.

Lo que hago es crear, con la grabación de macro activda, y haciendo clic
con
el botón derecho sobre la pestaña en cuestión, una copia en un archivo
diferente del que estoy trabajando. Esa copia es la que quiero guardar
con el
nombre de uno de los campos que es el número de factura, por ejemplo.

He revisado el código y no sé exactamente dónde incrustar lo que me
dices.
Te pego el código para ver si lo estoy haciendo bien:


Sub extraefactura()
'
' extraefactura Macro
' Macro grabada el 11/11/2008 por John Krohm
'

'
Sheets("fra").Select
Sheets("fra").Copy
End Sub

Si ves que podemos hacer algo, fantástico.

Gracias de nuevo!

Kröhm


Respuesta Responder a este mensaje
#5 Kröhm
11/11/2008 - 18:19 | Informe spam
Hola Juan M,

Gracias por tu consejo!

Mira, he sustituido la referencia a la celda A1 por la C9 que es la que
contiene el número de factura.

No me funciona porque se me pone una línea en rojo. Exactamente ésta:

ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" &



El código general es prácticamente el que tú me has puesto:

Sub extraefactura()
'
' extraefactura Macro
' Macro grabada el 11/11/2008 por John Krohm
'

'Sub extraefactura()
Sheets("fra").Copy
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" &
ActiveSheet.Range ("C9") & ".xls"
End Sub


Supongo que la línea tendrá que ser modificada. Si se trata de saber cuál es
el directorio que tendrá como destino la copia de la hoja extraída, en
principio no será el mismo.

Además, ahora me asalta la duda de si la hoja copiada y aislada se "lleva"
también las macros de la hoja de origen.

Agradezco mucho vuestro apoyo.

Saludos

JK
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida