Problema con Botones

17/07/2003 - 16:56 por Antonio Martínez | Informe spam
Tengo creado una barra de botones que contiene un botón que ejecuta una
macro que copia varias celdas del archivo abierto en la primera fila vacía
de otro libro a modo de listado.

El caso es que para elaborar los archivos (facturas) utilizo normalmente la
última del mismo cliente la cual modifico y guardo con el nº nuevo, después
pulso el botón y se ejecuta la macro abriendo el listado y pegando en la
última fila las celdas que contienen los datos.

El problema es que si seguido de este documento lo cierro y abro la última
factura de otro cliente para elaborar otra factura, al pulsar el botón
vuelve a introducir en la lista la factura que he creado anteriormente,
abriendo el archivo que hice anteriormente y lo que quiero es que me incluya
el que acabo de elaborar para lo que tengo que volver a asignar el macro en
las propiedades del botón.

Adjunto macro para que lo veáis

Sub AbrirListaDeFacturas()
Dim Nombres As Variant, Col As Integer
Nombres = Array("n_fac", "fecha", "cliente", "obra", "tot_cert",
"retención", "subtotal", "iva", "tot_fac")
Workbooks.Open FileName:= _
"C:\"ruta del archivo"\Relación de Facturas 2003.xls"
With Range("b65536").End(xlUp)
For Col = 0 To UBound(Nombres)
.Offset(1, Col) = ThisWorkbook.Worksheets(1).Range(Nombres(Col))
Next
End With
ActiveWorkbook.Save
End Sub
 

Leer las respuestas

#1 Héctor Miguel
18/07/2003 - 06:06 | Informe spam
¿Que tal, Antonio?

... barra de botones ... botón ... macro que copia varias celdas del archivo abierto en ... otro libro [...]
... para elaborar los archivos (facturas) utilizo ... la última del mismo cliente la cual modifico y guardo con el nº nuevo,
... pulso el botón y se ejecuta la macro [...]
... problema ... si ... lo cierro y abro ... de otro cliente ... al pulsar el botón ... vuelve a ... el archivo que hice


anteriormente
... lo que quiero es ... el que acabo de elaborar para lo que tengo que volver a asignar el macro en las propiedades del botón.



1.- Al asignar macros a objetos, el objeto "necesita saber" DONDE esta el codigo que se ejecutara, para lo cual, el objeto...
"retiene" la informacion del libro (nombre y ubicacion) y el nombre del procedimiento =>como referencias ABSOLUTAS<
2.- Una (posible) solucion seria (usando la barra de herramientas "Cuadro de controles" NO la de "Formulario"):
a) CAMBIAR el boton en barra de herramientas POR un boton EN la hoja
b) CAMBIAR el codigo al evento "_Click" del boton EN el modulo de codigo de "la hoja"
(de esta manera NO "importaria" el nombre del libro que esta ejecutando la macro)
c) Si "registras" varios clientes (en la misma sesion) deberas "averiguar" si el libro con el listado de facturas YA esta
abierto

3.- Si deseas "conservar" la macro asignada a un boton en barra de herramientas, "tendrias que":
Usar el libro de macros "Personal" o un complemento (.XLA) =>y "algunas" modificaciones al codigo<= :(( OJO
_______
Saludos,
Héctor.
MS-MVP

Preguntas similares