Combobox y fechas agrupadas en tabla dinámica

mjrofra

Board Regular
Joined
May 18, 2009
Messages
180
Hola gente de mrexcel.

Hace una semana excribí en el foro de ayudaexcel.com pero no he recibido respuesta. Copio mi inquietud acá a ver si alguien puede ayudarme.

¡Hola!

Ojalá alguien pueda ayudarme, llevo ya un tiempo intentando solucionar esto y no he podido.

Tengo un userform con un combobox (cboFecha) que recoge una lista de fechas de un rango. Hasta ahí bien. Por otro lado, tengo una tabla dinámica, en la que he agrupado una columna de fechas por años y meses y los he puesto como filtros de informe.

La idea es que al seleccionar alguna de las fechas del combobox, la tabla dinámica filtre para el mes y el año correspondiente a dicha fecha.

Esto es parte de lo que tengo:

dtAño = Format(cboFecha, "yyyy")
dtMes = Format(cboFecha, "mmm")

Hasta acá las variables dtAño y dtFecha toman su valor de acuerdo a la fecha seleccionada en el combobox.

With Worksheets(1).PivotTables("TD_Transacciones")
.ClearAllFilters
.PivotFields("Años").CurrentPage = dtAño
.PivotFields("Fecha Cierre").CurrentPage = dtMes '==> Error '1004' en tiempo de ejecución. Error definido por la aplicación o el objeto
End With

Como ven el problema surge en el campo "Fecha_Cierre" de la tabla dinámica. Al revisar el valor de la variable dtMes, ésta tiene almacenado correctamente el mes correspondiente a la fecha que se haya escogido en el combobox. Por ejemplo, si en el combobox alguien seleccionó 14/05/2009 dtMes tiene el valor "May" y ahí ya no se produce un error!! Pero si alguien escogió 05/01/2008, dtMes tiene almacenado "Ene" y ahí se produce el error.

Al grabar una macro seleccionando los filtros, veo que cuando seleccionó en el campo del mes, aunque el la tabla dinámica dice "Ene", en la macro queda grabado como "Jan" y creo que por esto es que se produce el error, pues al usar format(cboFecha, "mmm") quedan las abreviaciones de los meses en español. El error también ocurre con Diciembre (dtMes = "Dic" y no "Dec" por lo que se produce el error, o con cualquier mes que las tres primeras letras no sean iguales a las tres primeras letras del mes en inglés. Con "Feb" funciona bien... ). Aclaro que en la hoja en donde esta la tabla dinámica, en el filtro de mes las abreviaciones de los meses sí salen en español.

Espero haya sido claro. Llevo bastante tiempo buscando una solución pero no he dado con ella. He probado esto:

dtMes = Format(CDate(cboFecha), "mmm") pero da los mismo, la abreviación del mes sale en español.

He buscando en el foro, pero no he encontrado nada que me pueda servir.

Un cordial saludo,

Mauricio
Colombia.

mensaje original en ayudaexcel.com

Gracias de antemano.
 

Some videos you may like

Excel Facts

Copy a format multiple times
Select a formatted range. Double-click the Format Painter (left side of Home tab). You can paste formatting multiple times. Esc to stop

Watch MrExcel Video

Forum statistics

Threads
1,122,709
Messages
5,597,697
Members
414,164
Latest member
ARTW

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Top