NO SE PUEDE GUARDAR UN OBJETO CON EL MISMO NOMBRE QUE OTRO YA ELIMINADO

2 envíos / 0 nuevos
Último envío
fjlruiz
Imagen de fjlruiz
Offline
última acción: Hace 3 años 10 meses
Nivel 1 - 200 puntosNivel 2 - 500 puntos
alta: 11/01/2010 - 10:59
Puntos: 817
NO SE PUEDE GUARDAR UN OBJETO CON EL MISMO NOMBRE QUE OTRO YA ELIMINADO

Hola:

Tengo un problema con objetos de un proyecto VBA, y es que cuando borro un formulario con la siguiente orden:

Dim vbCom As Object
Set vbCom = Application.VBE.ActiveVBProject.VBComponents

vbCom.Remove VBComponent:=vbCom2.Item("nombredelobjeto")
 

posteriormente no puedo crear otro con el mismo nombre hasta que no guardo el proyecto, pero no se como guardarlo desde una macro y por otro lado, si guardo el proyecto, estoy guardando tambien el fichero de excel y no querria hacerlo.

Ahi alguna solucion a esto?

 

Muchas gracias

 

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 5 horas 7 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 10640
el proyecto viaja con un libro

Un proyecto VBA de Excel siempre está asociado a un libro que lo contiene.

Puedes guardar las piezas por separado, por ejemplo exportando los módulos a archivos .bas, pero el proyecto completo viaja con el libro de excel.

Respecto del error del nombre ya utilizado, no es tu código el que lo produce, porque lo puedes reproducir incluso a mano. Parece que VBA mantiene una especie de historial con esos nombres en su colección vbcomponents.

En la página de microsoft dicen que el este error se produce al intentar cambiar un proyecto VBA dentro de un documento, ¡vaya! justamente lo que queremos hacer.

miraré a ver si hay alguna manera de reiniciar estas colecciones sin guardar el archivo.

ante la duda, siempre puedes utilizar la numeración de los items en vez de ponerles nombres.

 

------
Ya sé Excel, pero necesito más

 

------
Ya sé Excel, pero necesito más.