Para cambiar el origen datos de un cubo en Excel 2003, necesitaremos usar esta macro:
Sub CambiaPathCubo2003()
On error goto Error
Dim oPivotTable As PivotTable
Dim sDataSource As String
Dim NewPath,OldPath As String
Dim oSheet As Worksheet
Set oSheet = ActiveWorkbook.Worksheets("Cube")
For Each oPivotTable In oSheet.PivotTables
If Not oPivotTable.PivotCache Is Nothing Then
On Error Resume Next
If Len(oPivotTable.PivotCache.Connection) <> 0 Then
sDataSource = Split(UCase(oPivotTable.PivotCache.Connection), UCase("Data Source="))(1)
OldPath = Split(UCase(sDataSource), UCase(".cub"))(0)
OldPath = OldPath & ".cub"
NewPath = "C:\RUTA\micubo.cub" ' =NUEVARUTA
oPivotTable.PivotCache.Connection = Application.Substitute(LCase(oPivotTable.PivotCache.Connection), LCase(OldPath), LCase(NewPath))
End If
End If
Next
Exit Sub
Error:
Msgbox "Se ha producido un error:" & Err.Description
End Sub
En cambio en entornos con Excel 2007 o Excel 2010 , si podremos llegar a las propiedades del rango y modificar el origen de datos. Basta ver artículo MS:
http://office.microsoft.com/es-es/excel-help/actualizar-datos-conectados-importados-HP010087045.aspx
0 Comentarios