Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
Announcements
Nov. 20th, Qlik Insider - Lakehouses: Driving the Future of Data & AI - PICK A SESSION
cancel
Showing results for 
Search instead for 
Did you mean: 
EternalDX
Contributor III
Contributor III

Guardar valores de filtro

Buen dia,

Estoy haciendo una macro para guardar el valor de filtros en variables pero por alguna razón no me funciona, alguien me podria ayudar a solucionarlo??.

Sub AplicarFiltroGeneral

	'Guarda la seleccion de Bloque de la Pestaña "Campo x Dia"
	SET fx = ActiveDocument.Fields("Bloque")
	SET fxV = fx.GetSelectedValues(1)
	ActiveDocument.Variables("vBloque").SetContent fxV, True
	
	'Guarda la seleccion de Fecha de la Pestaña "Campo x Dia"
	SET fx = ActiveDocument.Fields("Fecha")
	SET fxV = fx.GetSelectedValues(1)
	ActiveDocument.Variables("vFecha").SetContent fxV, True
	
	'Borra todos los filtros
	ActiveDocument.Clear
	
	'Aplica filtros con valores gusrdados previamente
	
	'Bloque
	SET vBloque = ActiveDocument.Variables("vBloqueGeneral").GetContent.string
	If vBloque <> "" Then
		ActiveDocument.Fields("Bloque").select "=" & vBloque
	End If
	'Año
	SET vAno = ActiveDocument.Variables("vAño").GetContent.string
	If vAno <> "" Then
		ActiveDocument.Fields("Año").select "=" & vAno
	End If
	'Mes
	SET vMes = ActiveDocument.Variables("vMes").GetContent.string
	If vMes <> "" Then
		ActiveDocument.Fields("Mes").select "=" & vMes
	End If	
	 
End Sub

Saludos

Isaias Campos

1 Solution

Accepted Solutions
EternalDX
Contributor III
Contributor III
Author

Hola,

Buscando encontre la solucion, pongo la macro ya funcionando por si a alguien le sirve

Sub AplicarFiltroGeneral

	'Guarda la seleccion de Bloque de la Pestaña "Campo x Dia"
	SET fx = ActiveDocument.Fields("NombreBloque").GetSelectedValues
	If fx.count > 0 Then
		ActiveDocument.Variables("vBloque").SetContent fx.Item(0).Text, True
	Else
		ActiveDocument.Variables("vBloque").SetContent "", True
	End If
	
	'Guarda la seleccion de Fecha de la Pestaña "Campo x Dia"
	SET fx = ActiveDocument.Fields("Fecha").GetSelectedValues
	If fx.count > 0 Then
		ActiveDocument.Variables("vFecha").SetContent fx.Item(0).Text, True
	Else
		ActiveDocument.Variables("vFecha").SetContent "", True
	End If
	
	'Borra todos los filtros
	ActiveDocument.Clear
	
	'Aplica filtros con valores guardados previamente
	
	ActiveDocument.Fields("NombreBloque").select ActiveDocument.Variables("vBloqueGeneral").GetContent.string
	ActiveDocument.Fields("Año").select ActiveDocument.Variables("vAño").GetContent.string
	ActiveDocument.Fields("NombreMes").select ActiveDocument.Variables("vMes").GetContent.string
	 
End Sub

Saludos

View solution in original post

1 Reply
EternalDX
Contributor III
Contributor III
Author

Hola,

Buscando encontre la solucion, pongo la macro ya funcionando por si a alguien le sirve

Sub AplicarFiltroGeneral

	'Guarda la seleccion de Bloque de la Pestaña "Campo x Dia"
	SET fx = ActiveDocument.Fields("NombreBloque").GetSelectedValues
	If fx.count > 0 Then
		ActiveDocument.Variables("vBloque").SetContent fx.Item(0).Text, True
	Else
		ActiveDocument.Variables("vBloque").SetContent "", True
	End If
	
	'Guarda la seleccion de Fecha de la Pestaña "Campo x Dia"
	SET fx = ActiveDocument.Fields("Fecha").GetSelectedValues
	If fx.count > 0 Then
		ActiveDocument.Variables("vFecha").SetContent fx.Item(0).Text, True
	Else
		ActiveDocument.Variables("vFecha").SetContent "", True
	End If
	
	'Borra todos los filtros
	ActiveDocument.Clear
	
	'Aplica filtros con valores guardados previamente
	
	ActiveDocument.Fields("NombreBloque").select ActiveDocument.Variables("vBloqueGeneral").GetContent.string
	ActiveDocument.Fields("Año").select ActiveDocument.Variables("vAño").GetContent.string
	ActiveDocument.Fields("NombreMes").select ActiveDocument.Variables("vMes").GetContent.string
	 
End Sub

Saludos