Jump to content

ULISES

Members
  • Content Count

    46
  • Joined

  • Last visited

  • Days Won

    1

ULISES last won the day on September 28 2012

ULISES had the most liked content!

About ULISES

  • Rank
    Member
  • Birthday 11/08/1986

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Solo escribe tema solucionado y lo cerraran...
  2. De nada, si solucionastes tu duda puedes cerrar el tema... Saludos
  3. Para que una celda te muestre los datos de una lista tiene que tener un dato que lo condicione. Ve este ejemplo EJEMPLO.xls
  4. El valor no valido se genera por que quieres escribir una formula, en una celda que, ya tiene como atributo una lista desplegable. Si quieres otros resultados de tu lista tendrías que contar con datos condicionales. Mejor reformula otra vez tu respuesta con mas detalle para yo ayudarte o esperemos otra respuesta de otro punto de vista jejeje Saludos
  5. Saludos @[uSER=113842]johnmpl[/uSER] no realice ninguna pregunta, no entendí¡¡¡ la pregunta del tema... Pero gracias por entender y responder la sofisticada adulación a la broma que genere a la respuesta.
  6. Saludos mi amigo Una pregunta, ¿Quieres formula? o ¿quieres lista? Aqui una con formulas Copia de.xls
  7. Buenas tardes compañeros Primero que todo un saludo y buenos deseos Tengo dos macros diferentes que tienen dos Workbook_Open y no se como hacer para que funcionen correctamente ya que individual hacen su trabajo pero juntos se genera un error que no permite mostrar las demás hojas del archivo a menos que se guarde el archivo otra ves, lo cual no debería de ser ya que tiene que ser automático al abrir el archivo con las macros activadas. Este seria uno Option Explicit Const WelcomePage = "Macros" Private Sub Workbook_BeforeClose(Cancel As Boolean) Application.EnableEvents = False With ThisWorkbook If Not .Saved Then Select Case MsgBox("Desea guardar los cambios realizados a '" & .Name & "'?", _ vbYesNoCancel + vbExclamation) Case Is = vbYes Call CustomSave Case Is = vbNo Case Is = vbCancel Cancel = True End Select End If If Not Cancel = True Then .Saved = True Application.EnableEvents = True .Close savechanges:=False Else Application.EnableEvents = True End If End With End Sub Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Application.EnableEvents = False Call CustomSave(SaveAsUI) Cancel = True Application.EnableEvents = True ThisWorkbook.Saved = True End Sub Private Sub Workbook_Open2() Application.ScreenUpdating = False Call ShowAllSheets Application.ScreenUpdating = True End Sub Private Sub CustomSave(Optional SaveAs As Boolean) Dim ws As Worksheet, aWs As Worksheet, newFname As String Application.ScreenUpdating = False Set aWs = ActiveSheet Call HideAllSheets If SaveAs = True Then newFname = Application.GetSaveAsFilename( _ fileFilter:="Excel Files (*.xls), *.xls") If Not newFname = "False" Then ThisWorkbook.SaveAs newFname Else ThisWorkbook.Save End If Call ShowAllSheets aWs.Activate Application.ScreenUpdating = True End Sub Private Sub HideAllSheets() Dim ws As Worksheet Worksheets(WelcomePage).Visible = xlSheetVisible For Each ws In ThisWorkbook.Worksheets If Not ws.Name = WelcomePage Then ws.Visible = xlSheetVeryHidden Next ws Worksheets(WelcomePage).Activate End Sub Private Sub ShowAllSheets() Dim ws As Worksheet For Each ws In ThisWorkbook.Worksheets If Not ws.Name = WelcomePage Then ws.Visible = xlSheetVisible Next ws Worksheets(WelcomePage).Visible = xlSheetVeryHidden End Sub [/HTML] Y este el otro [HTML]Private Sub Workbook_Open() 'Desactivamos las teclas de cancelación de macros Application.EnableCancelKey = xlDisabled 'Eventos que se producen al abrir el libro: 'si le han cambiado el nombre al fichero 'mostraremos un mensaje, y cerraremos 'el libro If ThisWorkbook.Name <> "Habilitar Macros.xls" Then 'Cargamos el UserForm Notificacion_de_Seguridad.Show End If End Sub [/HTML] Agradeceria el apoyo que me puedan prestar Saludos Habilitar Macros.rar
  8. Bueno amigos con este aporte doy por cerrado el tema. Los macros por lo general vienen con una segurita alta la cual no permite usar los macros, y normalmente cuando nuestros archivos tienen seguridad de macros y códigos por todas partes eso no nos sirve de nada porque los macros no se activarían y como se sabe que no hay manera de usar una macro para activar macros, una técnica para asegurar que el usuario ha habilitado las macros es necesaria. Este método le dice al usuario que debe habilitar las macros y como hacerlo, y se aplica cada vez que se guarda el libro. Si el usuario abre el libro con macros habilitadas, todas las hojas se mostraran por la macro. La ocultación de las hojas se hace usando Excel propiedad VeryHidden, lo que significa que las hojas no puede ser mostrada usando los menús de Excel. Tenga en cuenta que, esto sólo afecta a este libro, por lo que un usuario puede utilizar una macro de otro libro para mostrar todas sus hojas. Sin embargo, si el usuario no es un experto en Excel no podrá entrar en su archivo de todos modos. Pasos a Seguir: Cambiar el nombre de una hoja de cálculo en el libro para "Macros". Poner un mensaje en la página que indica al usuario habilitar las macros. Copiar el código anterior Nos vamos al explorador de proyecto VBA En el explorador de proyecto, busque el objeto ThisWorkbook. Haga doble clic en el objeto ThisWorkbook. Pegue el código en el panel derecho. Guarda el libro antes de cualquier otro cambio. Cierre y vuelva a abrir el libro. Si vuelve a abrir el libro con las macros desactivadas, debería ver la pantalla de advertencia. Si vuelve a abrir el libro con las macros habilitadas, debe consultar a su pantalla de advertencia por un segundo, entonces usted debe ver todas las otras hojas y la pantalla de advertencia se desaparecerá. Clave del proyecto VBA del archivo adjunto: 123 Saludos cordiales Option Explicit Const WelcomePage = "Macros" Private Sub Workbook_BeforeClose(Cancel As Boolean) Application.EnableEvents = False With ThisWorkbook If Not .Saved Then Select Case MsgBox("Desea guardar los cambios realizados a '" & .Name & "'?", _ vbYesNoCancel + vbExclamation) Case Is = vbYes Call CustomSave Case Is = vbNo Case Is = vbCancel Cancel = True End Select End If If Not Cancel = True Then .Saved = True Application.EnableEvents = True .Close savechanges:=False Else Application.EnableEvents = True End If End With End Sub Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Application.EnableEvents = False Call CustomSave(SaveAsUI) Cancel = True Application.EnableEvents = True ThisWorkbook.Saved = True End Sub Private Sub Workbook_Open() Application.ScreenUpdating = False Call ShowAllSheets Application.ScreenUpdating = True End Sub Private Sub CustomSave(Optional SaveAs As Boolean) Dim ws As Worksheet, aWs As Worksheet, newFname As String Application.ScreenUpdating = False Set aWs = ActiveSheet Call HideAllSheets If SaveAs = True Then newFname = Application.GetSaveAsFilename( _ fileFilter:="Excel Files (*.xls), *.xls") If Not newFname = "False" Then ThisWorkbook.SaveAs newFname Else ThisWorkbook.Save End If Call ShowAllSheets aWs.Activate Application.ScreenUpdating = True End Sub Private Sub HideAllSheets() Dim ws As Worksheet Worksheets(WelcomePage).Visible = xlSheetVisible For Each ws In ThisWorkbook.Worksheets If Not ws.Name = WelcomePage Then ws.Visible = xlSheetVeryHidden Next ws Worksheets(WelcomePage).Activate End Sub Private Sub ShowAllSheets() Dim ws As Worksheet For Each ws In ThisWorkbook.Worksheets If Not ws.Name = WelcomePage Then ws.Visible = xlSheetVisible Next ws Worksheets(WelcomePage).Visible = xlSheetVeryHidden End Sub [/code] A su vez dejo adjunto un archivo de ejemplo Saludos al a,igo German por su respuesta, este archivo es prácticamente igual al tuyo German pero diferente y menos pesado, lo dejo por si acaso compañeros y así tienen otra opción jejeje... Habilitar Macros.xls Habilitar Macros.xls
  9. Hola buenos dias Eso no me suena... Si el archivo esta abierto es posible que no se guarde con otro nombre, pero si no abres el archivo eso se renombra siempre... Sin embargo esperemos la respuesta de los expertos. Saludos
  10. Gracias por tu respuesta Roci0 Sin embargo te cuento que no lo pude abrirlo y el visualizador de proyectos esta bloqueado como para ver el código no se, si me pase algo por alto en tu respuesta y no lo pude abrir jejeje Saludos - - - - - Mensaje combinado - - - - - Saludos German en efecto ese código es idéntico al que yo tengo pero el tuyo es mas resumido sin embargo no se porque tu archivo pesa tanto, de todas maneras dejare abierto el tema por otras horas mas, a ver quien mas da aportes si no pues cargare mi archivo aquí y no en la sección de aporte, en vista de que ya se ha preguntado anteriormente sobre este tema. Saludos
  11. Obligar a que se habiliten las macros para poder usar un archivo Saludos compañeros mi consulta es saber si se puede o hay la manera por medio de un código de VBA de que un archivo no permita mostrar su información en dado caso las macros se encuentren deshabilitadas (Normalmente la seguridad de los macros siempre viene en alto). Al abrir un archivo de 3hojas no permita la visualización de ellas hasta que las macros sean habilitadas. Esta consulta la realizo con la intención de dejar un aporte en el foro, por el cual se puede obligar al usuario a habilitar las macro antes de poder ver las demás hojas que contiene el archivo por medio del método de propiedades VeryHidden, sin embargo no se si ya se ha resuelto esta pregunta anteriormente y es por ello que acudo a los mas expertos en el tema de Macros y Programación VBA. Saludos
  12. Buenos días maestro Macro Gracias por su comentario En si lo que mas aprendí fue a usar formulas y vincular datos por todos lados ya que mi trabajo es generar estadísticas, gráficos, cuadros resumen a partir de números mensuales y bueno mi fuerte son las formulas, sin embargo cuando me adentre un poquito con los macros me di cuenta de que es otro mundo mas automatizado del cual he aprendido un poco y de paso no conocía los UDF es algo maravilloso. Espero que con la ayuda de este foro y de todos mis compañeros que en ella depositan su tiempo, conocimientos, astucia, ingenio, afán, emoción, desempeño, imaginación he infinidades de talentos pueda aprender demasiado… Saludos
×
×
  • Create New...

Important Information

Privacy Policy