Error '5' : Argumento o llamada a procedimiento no válida

Estimados tengo este código:

Que fue obtenido directamente desde el VBA al grabar una macro, donde fue modificada para obtener un registro de compras de cierto mes y se le añade la hoja rcSII que es un string que ya revise su valor y concuerda con la hoja solicitada y con el ultFilaRcsii y ultColRcsii no se presenta problemas porque el codigo funciono anteriormente con esos procedimientos.
LLevo horas tratando de depurar y encontrar el error que esta indicado en el título pero no lo encuentro por eso recurro a solicitar ayuda, considerar que estoy trabajando en un libro habilitado para macros ".xlsm".

1 respuesta

Respuesta
1

Revisé tu código y sí me funciona.

Para revisar cada dato lo separé en variables:

    ruta = "C:\Users\damor\Documents\Docs\Soporte expertos\"
    arch = "[Registro compras " & Trim(CStr(mes)) & "-" & Trim(CStr(año)) & ".xlsm]"
    hoja = rcSII
    wver = xlPivotTableVersion12
    rango = "R1C1:R" & Trim(CStr(ultFilaRcsii + 1)) & "C" & Trim(CStr(ultColRcsii))
    ActiveSheet.PivotTables("Tabla dinámica11").ChangePivotCache ActiveWorkbook. _
        PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        ruta & arch & hoja & "!" & rango, Version:=wver)

El mensaje de error me aparece cuando cambio la versión.

Yo utilizo la versión de excel 2017, por lo tanto me corresponde xlPivotTableVersion12

Revisa que estés utilizando la versión correspondiente:

Member name Description
XlPivotTableVersion2000 Excel 2000
XlPivotTableVersion10 Excel 2002
XlPivotTableVersion11 Excel 2003
XlPivotTableVersion12 Excel 2007
XlPivotTableVersion14 Excel 2010
xlPivotTableVersion15      Excel 2013

Fuente: https://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel.xlpivottableversionlist.aspx 


Avísame cualquier duda.

Si te funciona, no olvides valorar la respuesta.

Al final inserte una tabla en mis datos e hice que las tablas dinámicas dependieran de las tablas de datos y no de un rango de celdas, así al rellenar la tabla o actualizarla, bastaba actualizar todo (Ctrl + Alt + F5) y se actualizaban las tablas dinámicas por lo que alfinal de la Macro le puso un ActiveWorkbook.RefreshAll. Ojala este método le sirva a alguien.
Muchisimas gracias por la ayuda, la he valorado igual.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas