Skip to main content
Announcements
Introducing Qlik Answers: A plug-and-play, Generative AI powered RAG solution. READ ALL ABOUT IT!
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Recorrer una lista pulsando botón

Hola, a ver si alguien me puede ayuda.

Lo que quiero es crear una especie de botón que cada vez que pulse pase a la siguiente línea de una lista y así sucesivamente cada vez que pulse.

No se me ocurre cómo poder hacerlo.

Un saludo y gracias.

1 Solution

Accepted Solutions
ecolomer
Master II
Master II

Con esta macro:

Sub Siguiente

    set mySelections = ActiveDocument.fields("MES").GetSelectedValues(1)

    ActiveDocument.Fields("MES").Clear

    if mySelections.Count = 0 then

    set val=ActiveDocument.Fields("MES").GetPossibleValues(1)

    ValueToSelect = val.Item(0).Text

    else

  set val=ActiveDocument.Fields("MES").GetPossibleValues

  IamDone = " "

  for i=0 to val.Count-1

  ValueToSelect = val.Item(i).Text

  if IamDone = "X" then

  exit for

  end if

  if val.Item(i).Text = mySelections.Item(0).text then

  IamDone = "X"

  end if

  next

  end if

  ActiveDocument.Fields("MES").Select ValueToSelect

End Sub

Te adjunto ejemplo con la lista MES

View solution in original post

7 Replies
ecolomer
Master II
Master II

Con esta macro:

Sub Siguiente

    set mySelections = ActiveDocument.fields("MES").GetSelectedValues(1)

    ActiveDocument.Fields("MES").Clear

    if mySelections.Count = 0 then

    set val=ActiveDocument.Fields("MES").GetPossibleValues(1)

    ValueToSelect = val.Item(0).Text

    else

  set val=ActiveDocument.Fields("MES").GetPossibleValues

  IamDone = " "

  for i=0 to val.Count-1

  ValueToSelect = val.Item(i).Text

  if IamDone = "X" then

  exit for

  end if

  if val.Item(i).Text = mySelections.Item(0).text then

  IamDone = "X"

  end if

  next

  end if

  ActiveDocument.Fields("MES").Select ValueToSelect

End Sub

Te adjunto ejemplo con la lista MES

Not applicable
Author

Hola Enrique, muchísimas gracias de verdad.

Soluciona perfectamente mi problema.

¿Dónde podría encontrar información sobre macros?

Un saludo y muchas gracias.

ecolomer
Master II
Master II

Te buscaré info y te la mandaré, porque hoy no la tengo a mano.

sorrakis01
Specialist
Specialist

Hola Juan,

Veo que la pregunta la has realizado 2 veces y veo que Enrique ya te ha contestado lo mismo que te comenté en la otra pregunta. Genial que ya lo hayas solucionado. Respecto a información de macros hay un link de ejemplo con 18 casos que te puede ayudar:

http://luciancotea.wordpress.com/2013/07/18/qlikview-macros-useful-collection/

Saludos,

Not applicable
Author

Hola Jordi, no me había fijado que había hecho la pregunta dos veces. sorry!

Muchas gracias por la info, ya que me será de gran ayuda.

Un saludo.

Not applicable
Author

Hola Enrique, cómo podría recorrer la lista hacia atrás?

Es que intento modificar la macro para que lo haga, pero no lo consigo.

Un saludo y gracias.

ecolomer
Master II
Master II

Te adjunto el ejemplo con los dos botones:

- Siguiente

- Anterior

La macro es:

Sub Anterior

    set mySelections = ActiveDocument.fields("MES").GetSelectedValues(1)

    ActiveDocument.Fields("MES").Clear

    if mySelections.Count = 0 then

    set val=ActiveDocument.Fields("MES").GetPossibleValues(1)

    ValueToSelect = val.Item(0).Text

    else

  set val=ActiveDocument.Fields("MES").GetPossibleValues

  IamDone = " "

  for i=0 to val.Count-1

  k=val.Count - (i + 1)

  ValueToSelect = val.Item(k).Text

  if IamDone = "X" then

  exit for

  end if

  if val.Item(k).Text = mySelections.Item(0).text then

  IamDone = "X"

  end if

  next 

   end if

   ActiveDocument.Fields("MES").Select ValueToSelect

End Sub