Foros del Web » Soporte técnico » Ofimática »

Numeración secuencial

Estas en el tema de Numeración secuencial en el foro de Ofimática en Foros del Web. Editado: Tengo un libro (plantilla) con una celda en la que existe un numero y cada ves que se abre el libro, dicho numero va ...
  #1 (permalink)  
Antiguo 13/10/2011, 15:57
 
Fecha de Ingreso: agosto-2007
Mensajes: 1.945
Antigüedad: 16 años, 7 meses
Puntos: 39
Numeración secuencial

Editado:

Tengo un libro (plantilla) con una celda en la que existe un numero y cada ves que se abre el libro, dicho numero va cambiando secuencialmente + 1 y se autoguarda.

Private Sub Workbook_Open()
Range("I3").Select
Range("I3") = ActiveCell + 1
'Linea valida de Elsa Sheets(1).Range("i3").Value = Sheets(1).Range("i3").Value + 1
ActiveWorkbook.Save
End Sub

Esto con el fin de que la plantilla (libro-origen) SE VAIA AUMENTANDO + 1 cada ves que se abre.

Relleno el libro con los datos necesarios y luego lo Guardo como para tener un respaldo con el nombre del cliente y enviarselo.

Mi pregunta es:

Macro para que al Guardar como: elimine o inutilise la macro DEL LIBRO con nombre del cliente.

La idea es que numericamente esta macro

Private Sub Workbook_Open()
Range("I3").Select
Range("I3") = ActiveCell + 1
ActiveWorkbook.Save
End Sub

no actue cada ves que el cliente tenga que abrir el libro y el numero que tenia cuando lo guarde como se mantenga

Última edición por JoaoM; 14/10/2011 a las 15:44 Razón: Cambio de texto y no abrir nuevo tema
  #2 (permalink)  
Antiguo 16/10/2011, 19:22
 
Fecha de Ingreso: agosto-2007
Mensajes: 1.945
Antigüedad: 16 años, 7 meses
Puntos: 39
Respuesta: Numeración secuencial

Ya logre eliminar la macro, OK pero me queda la llamada a la macro en Private Sub Workbook_BeforeClose(Cancel As Boolean)

Macro que elimina y me da la opcion para Guardar como

Sub Mymacro()
Dim vbCom As Object
Dim Mensaje, Estilo, Título, Respuesta, MiCadena
Mensaje = "¿Estas seguro de querer eliminar la macro?" & vbCr & "Si responde SI, no tiene vuelta atraz" & vbCr & "la macro se eliminara por siempre"
Estilo = vbYesNo + vbCritical
Título = "Advertencia"
Respuesta = MsgBox(Mensaje, Estilo, Título)
If Respuesta = vbYes Then
MiCadena = "Sí"
Else
MiCadena = "No"
Exit Sub
End If
Set vbCom = Application.VBE.ActiveVBProject.VbComponents
vbCom.Remove VBComponent:=vbCom.Item("Módulo1")

Application.Dialogs(xlDialogSaveAs).Show
End Sub

Llamada a la macro en Private Sub Workbook_BeforeClose(Cancel As Boolean) Esto para despues que rellene el presupuesto, pueda Eliminar la macro del Modulo1 y Guardar como.
Darle el nombre del cliente y guarda el presupuesto ya sin la macro, ESTE PROCESO LO HACE BIEN pero tengo el inconveniente de que queda la llamada en

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Hoja1.Name <> "Presupuesto" Then Hoja1.Name = "Presupuesto"
Mymacro
End Sub

Lo rojo quisisera que se eliminara tambien junto con el modulo de la macro Mymacro, ¿PORQUE?

Cuando el cliente reciba el presupuesto y lo aibra, lo imprime (si acaso) y lo vuelve a cerrar, AL CERRARLO le dá un error porque la llamada no encuentra la macro.

Pueden ayudarme?

Gracias

Última edición por JoaoM; 16/10/2011 a las 19:37
  #3 (permalink)  
Antiguo 17/10/2011, 03:03
Avatar de rid501  
Fecha de Ingreso: agosto-2011
Mensajes: 244
Antigüedad: 12 años, 7 meses
Puntos: 30
Respuesta: Numeración secuencial

Algo rápido que se me ocurre es que si las macros sólo las usas tu, incluyas una variable que capture el nombre del usuario que usa la aplicación. Si es el tuyo que se ejecute Mymacro y en caso contrario lo salte:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Usuario=Application.UserName
If Hoja1.Name <> "Presupuesto" Then Hoja1.Name = "Presupuesto"
if Usuario="JoaoM" then
Mymacro
end if
End Sub

Alternativamente puedes usar el nombre de la máquina donde se está ejecutando la macro en lugar del nombre de usuario. En este caso, el nombre de máquina lo capturas con:
pc = Environ("computername")

Última edición por rid501; 17/10/2011 a las 03:12
  #4 (permalink)  
Antiguo 17/10/2011, 16:43
 
Fecha de Ingreso: agosto-2007
Mensajes: 1.945
Antigüedad: 16 años, 7 meses
Puntos: 39
Respuesta: Numeración secuencial

Gracias por la colaboracion.
Te pido si pudieras darme alguna luz sobre la macro, es decir, comentarios sobre las lineas, si puedes y ves que no hay inconveniente.

esto con la idea de que yo pueda decirte si o no es lo que busco, de todas todas, la voy a ejecutar y vere.

Gracias

La ejecute, no vi que hiciera algun cambio, esto con mi nombre de usuario en la PC, si cambio el nombre en la macro, tampoco me hace nada.

La idea que tengo es que use quien use la plantilla, esta al cerrar o, DESPUES de Guardar como:, me ELIMINE el modulo1 y la llamada en
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Hoja1.Name <> "Presupuesto" Then Hoja1.Name = "Presupuesto"
Mymacro
End Sub

Si lees mi post anterior al tuyo, veras y comprenderás lo que necesito.

Gracias de todos modos por el empeño de ayudarme

Última edición por JoaoM; 17/10/2011 a las 16:57

Etiquetas: xp
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:25.