Tabla Dinamica en macros
Publicado por ricardo (1 intervención) el 13/01/2006 19:26:56
Tengo el siguiente problema, estoy construyendo una macro que me formatea y acomoda los datos de una bajada de SAP, esta información en la hoja de calculo queda en dos bloques, o sea, tengo en un determinado rango una tabla de datos (campos y registros), luego de unas filas en blanco tengo otra tabla de datos.
Estos dos bloques son necesarios porque la información es distinta, ahora bien, trato de hacer una tabla dinamica que se ejecute con la macro, en principio voy por el grabador de macros, la hago y no hay ningun problema, luego inserto el codigo generado en la macro que estaba haciendo y se ejecuta.
El problema viene porque los rangos de esas dos tablas que tengo en la hoja, no siempre es el mismo.
Cuando genero el codigo con el grabador para la TD, las referencias son RC, como ven en este ejemplo:
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"'1_Directo '!R2C1:R1197C13").CreatePivotTable TableDestination:= _
"'[BASE-IVA-Compras.xls]1_Directo '!R2C15", TableName:="Tabla dinámica1", _
DefaultVersion:=xlPivotTableVersion10
he tratado por todos los medios de pasar por variables a R2C1:R(variable)C13 y no me da error.
Pregunto:
a) se puede pasar una variable que me recoja hasta que fila va y luego pasarla a la instrucción de la tabla dinamica.
si eso no es posible:
b) se puede sustituir la definicion del rango R2C1:R1197C13, por rangos tipo A2:M1197?
Gracias.
Estos dos bloques son necesarios porque la información es distinta, ahora bien, trato de hacer una tabla dinamica que se ejecute con la macro, en principio voy por el grabador de macros, la hago y no hay ningun problema, luego inserto el codigo generado en la macro que estaba haciendo y se ejecuta.
El problema viene porque los rangos de esas dos tablas que tengo en la hoja, no siempre es el mismo.
Cuando genero el codigo con el grabador para la TD, las referencias son RC, como ven en este ejemplo:
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"'1_Directo '!R2C1:R1197C13").CreatePivotTable TableDestination:= _
"'[BASE-IVA-Compras.xls]1_Directo '!R2C15", TableName:="Tabla dinámica1", _
DefaultVersion:=xlPivotTableVersion10
he tratado por todos los medios de pasar por variables a R2C1:R(variable)C13 y no me da error.
Pregunto:
a) se puede pasar una variable que me recoja hasta que fila va y luego pasarla a la instrucción de la tabla dinamica.
si eso no es posible:
b) se puede sustituir la definicion del rango R2C1:R1197C13, por rangos tipo A2:M1197?
Gracias.
Valora esta pregunta
0