UniversoExcelForo

Respuesta a consultas.
Fecha de creación: 09.Abril.2012

Fundadores: Wibly,Tyno,Servando,Sakkar,Rosendo2,RMaximo,Railar,Mcoronel,Ioyama,Igtelo,Hugotron,Drochar,Dedos,Alberto,Adolfo

No se pueden hacer consultas de Excel o VBA por mensaje privado.
Utiliza el botón buscar del foro y te ahorras tiempo para obtener "ayuda".

No estás conectado. Conéctate o registrate

Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje [Página 1 de 1.]

1 Remodelar macro checklist el 19/01/13, 10:50 am

administracionnivaria


Tengo una macro checklist que quiero mejorar o aumentar su potencia.
Poder añadir más topics en la hoja, así como más ítemes en cada topic.
El número de itemes en cada topic puede ser distinto.....

el código inicial es :
Código:
Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
' Manage double clicking on the worksheet (used for changing the status of a check item or an entire topic)
Dim blnIsTopic As Boolean

    On Error Resume Next
   
    ' User double clicked outside the checklist area - > exit sub
    If Application.Intersect(ActiveCell, Range("myCheckList")) = False Then Exit Sub

    ' Set boolean variable: true, if user double clicked on a topic (header)
    blnIsTopic = (InStr(ActiveCell.Offset(0, -(ActiveCell.Column - Range("myCheckList").Column)), C_SEPARATOR) = 0) And _
                (ActiveCell.Offset(0, -(ActiveCell.Column - Range("myCheckList").Column)).Value <> "")
             
    If ActiveCell.Column = Range("myCheckList").Column + Range("myCheckList").Columns.Count - 1 Then
    ' User double clicked on a cell in the status column
       
        If ActiveCell.Value = C_DONE Then
        ' If status = done: status will be set to open
            ActiveCell.Value = C_OPEN
        ElseIf ActiveCell.Value = C_OPEN Or ActiveCell.Value = C_MIXED Then
        ' If status = open or mixed (topics only): status will be set to done
            ActiveCell.Value = C_DONE
        End If
       
        If blnIsTopic Then
            Call ChangeTopicStatus
        Else
            Call AutomaticSetTopicStatus
        End If
   
    ElseIf blnIsTopic Then
    ' User double clicked in a topic row and not on the status column -> expand or collapse the items of this topic
        Call ExpandCollapseItems
    End If

End Sub


Gracias
Archivos
check_list_template.................xls
No tienes los permisos para descargar los archivos.
(67 KB)

2 Re: Remodelar macro checklist el 23/01/13, 09:54 am

tyno


Hola administracion.
Para poder agregar mas topics lo que vas a tener que hacer es aumentar el rango de accion de la macro. Si observas en el codigo hay un Range llamado "myCheckList", esto es simplemente un rango definido o un rango con nombre. Para modificar este rango a tu necesidad en el menu principal vas a Insetar/Nombre/Definir, seleccionar el rango "myCheckList" y abajo en el cuadro" se refiere a:" , donde ves el rango, modificas los valores ,que en este caso era =check_list!$B$6:$E$64. En el archivo que te paso yo lo puse =check_list!$B$6:$E$500 y como podras ver inserte unos registros mas de prueba.
Saludos
Archivos
check_list_template.................xls
No tienes los permisos para descargar los archivos.
(76 KB)

3 Re: Remodelar macro checklist el 23/01/13, 10:03 am

administracionnivaria


Me bajo el archivo modificado y comento.
Creo que colijo a lo que te refieres.
Comentaré lo que me tope.
Gracias

4 Re: Remodelar macro checklist el 24/01/13, 05:31 am

administracionnivaria


Hecho a través del administrador de nombres aumentando el rango de celdas.

Gracias

Tengo otra y aprovecho por si fuera posible.
Adjunto hoja de cálculo ejemplo.

Se trata en este caso de una macro que abre una sola pestaña de selección múltiple marcable.
Quisiera saber si lo mismo puede lograrse, y como, con dos o más listas a elegir.

Gracias

En concreto la lista se refiere a una serie de empleados y los idiomas que conocen o hablan. Se trataría de que hubieran tres grupos de idiomas según el tipo de empleado.....

Agradezco cualquier orientación válida para mejora de la hoja de cálculo así como su manejo.
Archivos
Desplegable con multiselección.inicial.xls
No tienes los permisos para descargar los archivos.
(36 KB)

5 Re: Remodelar macro checklist el 24/01/13, 05:42 am

administracionnivaria


Paso código de la macro y hasta donde me es posible mi interpretación de la hoja.

Código:
Dim Saltar As Boolean

Sub CargarLista()
Saltar = True 'Ignora el evento Change de la lista
  Idioma.Clear
  For y = 3 To 10 'Columnas donde van los valores de la lista
      Idioma.AddItem Cells(1, y)
  Next
  Range("A2").Select
Saltar = False
End Sub

Private Sub Idioma_Change() 'Actualiza la hoja
If Saltar = True Then Exit Sub

For x = 0 To Idioma.ListCount - 1
    Cells(ActiveCell.Row, x + 3) = Idioma.Selected(x)
Next

End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'Carga los datos de la hoja en la lista

If Idioma.ListCount = 0 Then CargarLista

If Target.Row > 1 Then 'Ignora la fila 1 de cabecera
  Idioma.Top = Target.Top
  Idioma.Visible = True
  For x = 0 To Idioma.ListCount - 1
      Saltar = True 'Ignora el evento Change de la lista
        Idioma.Selected(x) = Cells(Target.Row, x + 3)
      Saltar = False
  Next
Else
  Idioma.Visible = False
End If

End Sub


La verdad es que veo tanto código que no se cuántos pueden corresponder. Porque en el editor de VBA aparecen más cosas.
Me pongo a ver si se luego añadir más idiomas de la lista existente.

6 Re: Remodelar macro checklist el 24/01/13, 08:52 am

administracionnivaria


He tratado de añadir más idiomas a la lista

Código:
Sub CargarLista()
Saltar = True 'Ignora el evento Change de la lista
  Idioma.Clear
  For y = 3 To 12 'Columnas donde van los valores de la lista
      Idioma.AddItem Cells(1, y)
  Next
  Range("A2").Select
Saltar = False
End Sub

Pero los efectos no son los apetecidos. No aparecen todos los idiomas. No se qué más tengo que afectar.

7 Re: Remodelar macro checklist el 24/01/13, 02:24 pm

tyno


Hola nuevamente.
Te paso un archivo de ejemplo donde te muestro una alternativa al ultimo archivo que has subido. Lo que no entendi bien la funcionalidad de dos o mas listas.
Como te lo mencione es un archivo de muestra que te puede dar otra idea que te llegue a servir. Cualquier cosa me avisas y te explayas un poco ma como seria el asuntos. Saludos
Archivos
prueba.xls
No tienes los permisos para descargar los archivos.
(85 KB)

8 Re: Remodelar macro checklist el 24/01/13, 02:32 pm

tyno


Quizas mejor usar este archivo, creo que el anterior quedo mal el tamaño del cuadro de lista. Saludos.
Archivos
prueba.xls
No tienes los permisos para descargar los archivos.
(86 KB)

9 Re: Remodelar macro checklist el 24/01/13, 09:17 pm

administracionnivaria


La verdad es que este tipo de controles me gusta para algunas de las cosas que he de hacer.
Distinto del anterior es más completo y con un número increíble de idiomas.
Seguiré comentando hasta lograr el objetivo.
Gracias

Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.