| |||
Re: Macro de Excel Muchas gracias, lo he probado y va perfecto. Por cierto se podria hacer tambien que la macro se ejecutase al cerrar el excel en vez de tener que ejecutarla desde Herramientas-->Macro-->Macros De verdad mrofc muchas gracias no tenia ni idea de macros de excel y necesitaba hacer esto. Un saludo. |
| ||||
Re: Macro de Excel Pues, usando el mismo codigo de mrocf: Sub auto_close() Application.ScreenUpdating = False MyBook = ActiveWorkbook.Name For ii = 1 To Sheets.Count Workbooks(MyBook).Sheets(ii).Copy Next Application.ScreenUpdating = True End Sub Otra opcion es que coloques un boton de la barra de formularios en tu hoja, y le asignes la macro en cuestion. Abraham |
| ||||
![]() Hola! Supongo que tu "poder de observación" te habrá permitido observar que el código correctamente realizado por abrahamvj es similar al que te aportara previamente... excepto el nombre del procedimiento: auto_close. Como dices estar recién entrando al "mundo" de las macros, te amplío diciendo que existen 4 nombres de procedimientos que están reservados con exclusividad: Auto_abrir, Auto_cerrar, Auto_activar y Auto_desactivar Como sus nombres lo indican, se ejecutan AUTOMÁTICAMENTE ante tales eventos sin necesidad alguna de intervención del usuario. Saludos |
| |||
Re: Macro de Excel Perdonar otra vez, sabeis tambien alguno como se hace para que los libros generados a partir de las hojas del libro original tomen el nombre de la hoja directamente y no por defecto "Libronº". Si sabeis de alguna pagina o tutorial para aprender un poco sobre macros os agradeceria mucho, para no estar dando la lata tanto por el foro. Un saludo |
| ||||
![]() Veamos: los libros definen su nombre a partir que son "guardados" en el disco. De este modo, y para satisfacer tu necesidad, deberías indicar un par de cuestiones tales como: a) ¿En que carpeta deseas grabar a los libros generados (por ejemplo: C:\Mis Documentos\Mis Informes)? b) En la carpeta antes mencionada, ¿podría ocurrir que existan otros libros con el mismo nombre? ¿Sí / No?... Y en caso de ser "Sí" la respuesta: ¿qué hacer en tal caso? Indícanos estas cuestiones y veremos como complementar lo que te hemos mostrado. Y en otro órden de cosas: te sugiero que te introduzcas en el tema activando la grabadora de macros y estudiando lo que de ello resulta con la ayuda en línea del propio programa... Es un buen comienzo. Saludos |
| |||
Re: Macro de Excel Gracias,lo tendre en cuenta y lo activare. En cuanto a las cuestiones que me dices, da igual donde se guarden no hace falta que sea una ruta por defecto y si donde se guardan hay ya algun libro con el mismo nombre que se sobreescriba sobre el antiguo. |
| ||||
![]() Bueno, se viene la versión final:
Código:
COMENTARIOS:Sub Auto_Close() Application.ScreenUpdating = False MyBook = ActiveWorkbook.Name MiPath = ActiveWorkbook.Path If MiPath = "" Then MiPath = "C:" For ii = 1 To Sheets.Count Workbooks(MyBook).Sheets(ii).Copy Application.DisplayAlerts = False ActiveWorkbook.Close SaveChanges:=True, _ FileName:=MiPath + "\" + ActiveSheet.Name Application.DisplayAlerts = True Next Application.ScreenUpdating = True End Sub MiPath = ActiveWorkbook.Path Indica donde está ubicado el archivo donde residen las hojas a guardar If MiPath = "" Then MiPath = "C:" Si el archivo anterior no había sido guardado, entonces las nuevas hojas se guardan en "C:\". Application.DisplayAlerts = False Si ya existiesen hojas con el mismo nombre, la aplicación consultaría lo habitual (El archivo 'tal' existe ¿Desea reemplazarlo?). Con esta propiedad se impide tal mensaje. Saludos |