Foro de Ayuda Excel | ||
| Soluciona tus problemas con Excel |
|
#1
| |||
| |||
| hola a todos tengo una problema tengo una macro que me depura unos datos , pero normalmente cada 3 dias el archivo donde se depura cambia y me ah toca volver a copiar el codigo para ejecutarla, no hay alguan forma para no hacer eso? gracias pls ayuda!!!! |
|
#2
| |||
| |||
| Alejo, no entendí bien como es lo del cambio cada 3 dias, quieres decir que requieres es hacer la misma depuración con la misma Macro pero a otros datos ? si es como te entendí deberias es dejar la forma de recibir cada vez datos nuevos para procesar con el mismo archivo y código pero guardar como otro archivo para no tener que estar moviendo el código
__________________ Cordial saludo a todos desde Pereira Colombia |
|
#3
| |||
| |||
| Si, lo que pasa es que la macro que estaba haciendo en tema anterior ya funcionó perfecto ahora el problema es que esa macro la quiero aplicar a varios libros que normalmente cada 3 dias son nuevos datos. es decir quiero que la macro funcione para cualquier libro que tenga las mismas caracteristicas del primer libro mejor dicho lo unico que cambia son los datos no mas el resto es igual, pero vienen en archivos.xls diferentes jejej espero que me entiendas =) |
|
#4
| |||
| |||
| Si como te dije es mejor hacer de cuenta que el archivo donde está el código es una plantilla y cada vez descargar ahi los datos procesarlos y guardar el archivo con diferente nombre.
__________________ Cordial saludo a todos desde Pereira Colombia |
|
#5
| |||
| |||
| 1) Guarda tu libro (donde esta la macro) con un nombre como Libro de macros o algo asi y ahy solo guardas los macros. Cuando vayas a usar la macro abres el libro de macros y el de datos desde el de datos llamas el macro y listo. 2) (mas refinada) Igual creas tu libro de macros y si quieres creas un menu o una barra de herramientas y lo guardas como .xla, (complemento...) Luego te vas a herramientas>>complementos... Añadir y escoges el archivo .xla que creaste asi el macro forma parte de excel y lo trabajas como cualquier herramenta nativa. Es probable que te toque hacer algunos cambios si trabajas referenciado al libro raiz ( thisWorkBook) ya que el TWB ( thisWorkBook) ya no sera donde estan tus datos, puedes solucionarlo facil si haces Código: set TWB2 =excel.application.activeworkbook |
|
#7
| |||
| |||
| Mira el menú lo creas con las siguientes instrucciones, te pongo un ejemplo y lo modificas a tu conveniencia: Lo debes meter en el modulo 'ThisWorkBook' Código:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Menu As Object
For Each Menu In Application.CommandBars.ActiveMenuBar.Controls
If Menu.Caption = "Macros" Then
Menu.Delete
End If
Next
End Sub
Private Sub Workbook_Open()
Dim myMenuBar As Object
Dim newMenu As Object
Dim Menu As Object
Dim ctrl As Object
Set myMenuBar = Application.CommandBars.ActiveMenuBar
'Crea el menu desplegable
For Each Menu In myMenuBar.Controls
If Menu.Caption = "Macros" Then
Exit Sub
End If
Next
Set newMenu = myMenuBar.Controls.Add(Type:=msoControlPopup, Temporary:=True)
newMenu.Caption = "Macros" 'Nombre del Item
'-----------------------------------------
'Se adiciona un nuevo elemento al menu
Set ctrl = newMenu.Controls.Add(Type:=msoControlButton)
ctrl.Caption = "Join Data " 'Nombre del Item
ctrl.Style = msoButtonCaption
ctrl.OnAction = "JoinData.JoinData" 'Rutina que se ejecutará
'----------------------------------------
End Sub Y listo cuando carges el xla aprecerá el menú desde donde podras llamr tus macros.... |
|
#8
| |||
| |||
| hola a todos, efsaro tu me podrias colaborar para poder cargar un archivo dentro de la macro es decir que esta macro tembien utilize otro libro de excel me si me explico?? |
|
#9
| |||
| |||
| Cita:
Código: Dim MyWB As Workbook Set MyWB = Workbooks.Open(Filename:="c:/ejemplo.xls") ' As WorkBook 'MyWB es el objeto que contiene el libro que has abierto lo manejas igual que 'ThisWorkBook solo que en este caso haces referencia al libro que abriste |
| Herramientas | |
| Desplegado | |
| |