Tạo biểu đồ động trong Excel qua VBA


1

Tôi đang cố gắng tạo một biểu đồ, bằng tay hoặc bằng VBA, sẽ tự động cập nhật khi các trang tính mới được thêm vào. Dữ liệu được nhập từ bảng bên ngoài hàng tháng và mỗi lần được thêm vào một bảng mới. Cấu trúc dữ liệu giống nhau mọi lúc.

Tôi biết cách sử dụng biểu đồ động nếu tôi muốn cập nhật cho các hàng và cột mới, nhưng điều này thì khác.

Tôi đã thử sử dụng trình ghi macro cùng với Trình hướng dẫn PivotChart và sau đó sửa đổi nó bằng một vòng lặp for, như thế này:

For i = 1 To Sheets.Count
ActiveWorkbook.PivotCaches.Create(SourceType:=xlConsolidation, SourceData:= _
Array("Sheet" & i & "!R1C1:R10C7", "Item1"), _
Version:=6).CreatePivotTable TableDestination:="", TableName:= _
"PivotTable1", DefaultVersion:=6

More Code

Next i

Phần còn lại của mã thiết lập Tổng giá trị, v.v.

Tôi thấy rằng có một phương thức PivotCaches.Item, nhưng tôi không thấy gì về việc cập nhật PivotChart hiện có.

Đây không phải là một PivotChart, nếu một biểu đồ thông thường sẽ hoạt động. Tương tự, nếu có cách làm mà không cần VBA, điều đó cũng tốt.

EDIT: Tôi nghĩ rằng tôi đã giải quyết nó. Bất kỳ phê bình đều được chào đón.

For i = 1 To Sheets.Count
If IsEmpty(pivotArray) Then
    pivotArray = Array(1)
    ReDim Preserve pivotArray(1 To UBound(pivotArray) + 1) As Variant
    pivotArray(1) = Array("Sheet" & i & "!R1C1:R4C3", "Item1")
Else
    ReDim Preserve pivotArray(1 To UBound(pivotArray) + 1) As Variant
    pivotArray(UBound(pivotArray)) = Array("Sheet" & i & "!R1C1:R4C3", "Item1")
End If
Next i
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.