Hỏi cách để biểu đồ tự động cập nhật dữ liệu (từ vùng dữ liệu có số dòng thay đổi) (5 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

Shizen The Amorous

Thành viên mới
Tham gia
16/5/09
Bài viết
6
Được thích
1
mình tạo một name là chatvalue và dùng lệnh offset để lấy tham chiếu dữ liệu từ một vùng có số lượng dòng thay đổi.

sau đó khi tạo biểu đồ, mình gán data cho chart là chatvalue.

tuy nhiên biêu đồ chỉ lấy dữ liệu 1 lần đầu tiên, sau khi vùng dữ liệu thay đổi, chart của mình không tự động cập nhật chatvalue mà giữ nguyên giá trị tham chiếu khi mình nhập chatvalue lần đầu.

có cách nào để biểu đồ của mình tự động cập nhật giá trị không các bạn?
mình nghĩ có thể dùng macros, nhưng vì trước giờ chỉ dùng 2,3 macros có sẵn do người khác viết nên không biết cách, các bạn chỉ giúp mình với nhé.

Mình có nghĩ tới việc thay đổi data series, nhưng như mọi người thấy trong file: vì số lượng sản phẩm là nhiều nên có nhiều bar, việc đổi data series sẽ rất khó khăn và tốn thời gian, đặc biệt là khi số lượng sản phẩm tăng lên theo thời gian.
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
Bạn xem như vầy đúng ý bạn không?
 

File đính kèm

hok phải bác ơi =.=" e cần biết biến động các sản phẩm trong cùng mức giá theo thời gian. nếu dùng cách như bác đề xuất thì không thể thấy được. :(
ý mình là: có thể viết 1 macros để cho chart này tự động cập nhật data source với name dulieubieudo được không ấy mà.
 
hok phải bác ơi =.=" e cần biết biến động các sản phẩm trong cùng mức giá theo thời gian. nếu dùng cách như bác đề xuất thì không thể thấy được. :(
ý mình là: có thể viết 1 macros để cho chart này tự động cập nhật data source với name dulieubieudo được không ấy mà.

Có phải ý của bạn là: sau khi chọn giá, vùng dữ liệu từ cột N đến cột R sẽ thay đổi số dòng và tên sản phẩm theo giá mới. Đồng thời biểu đồ sẽ thay đổi theo dữ liệu mới. Chỉ hiển thị tên sản phẩm có giá phù hợp với giá đã chọn?

Nếu vậy, giải pháp sau khi chọn giá sẽ là:

1. Lọc những sản phẩm có giá bằng giá đã chọn, điền vào cột N
2. Tính tổng số lượng theo từng sản phẩm, và theo tuần
3. Cập nhật biểu đồ

Bạn vui lòng xác nhận.
 
bác xem file để coi chi tiết nhé.
chính xác là:
1/ sau khi chọn mức giá trong combox thì data sẽ được advanced filter lọc tới vùng dữ liệu N1:R7

Đoạn code mà mình dùng làm macros là:
Mã:
Sub filter()
'
'advanced filter de loc du lieu ra vung du lieu cua bieu do

'
    Sheets("dulieu").Select
    Range("b2:f10").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
        Range("l1:l2"), CopyToRange:=Range("n1:r7"), Unique:=False
    Sheets("dulieu").Select
End Sub

macros này được assign cho combo box để khi lựa giá xong thì dữ liệu sẽ được update.

2/ chart này sẽ cập nhật data trong vùng N1:R7
3/ [cái mình cần] chart phải cập nhật data từ name "dulieubieudo" để thu hẹp vùng dữ liệu vẽ biểu đồ sao cho vừa khít với số lượng dòng có trong vùng dữ liệu biểu đồ (tức là mình không muốn thấy trong khung legend có series không có data.


Vấn đề là mình không biết đoạn code hay các nào để update cho biều đồ với vùng data tham chiếu bằng name "dulieubieudo"
 

File đính kèm

Lần chỉnh sửa cuối:
vấn đề không chỉ là name động, mà còn là đặt nguồn dữ liệu cho biểu đồ đúng cách.
Bạn xem nguồn dữ liệu của từng serie nha.
Ngoài ra tôi cũng dùng 1 name cho vùng dữ liệu gốc từ B đến F, để khi tăng mặt hàng lên nữa thì advanced filter và code vẫn hoạt động đúng. Tôi đã thử bằng cách tăng thêm 2 mặt hàng.
 

File đính kèm

bạn ptm0412 cho tớ hỏi là nếu bây giờ tớ làm data với tuần 20, thì mỗi khi thêm tuần tớ phải tạo 1 name riêng cho nó?
tớ thử dùng thay đổi các số liệu trong các name và code trong macros nhưng bị báo lỗi 1004.(khi thêm cột tuần 4, 5, thêm các name tuan4,tuan5, sua gia tri so luong cot trong DLG va dulieubieudo thanh 6 và 5)..
bạn có thể thêm một số tuần vào làm ví dụ cho tớ được không?
 
lập thành 3 sheet, 1 sheet dữ liệu gốc, 1 sheet dữ liệu advanced filter, 1 sheet biểu đồ.
Lý do là không biết trước bao nhiêu mặt hàng sẽ điền vào thêm dòng, và bao nhiêu tuần sẽ điền vào thêm cột, 2 bảng dữ liệu và biểu đồ sẽ đè nhau.
khi thêm dòng mặt hàng thì thôi, thêm cột tuần, thì nhấn nút "Thêm", code sẽ tạo name mới, và tạo serie mới cho biểu đồ.
Có thể đổi tên file, đổi tên sheet. Còn nữa, có thể thêm vào bảng giá làm dữ liệu nguồn cho combobbox nữa
 

File đính kèm

Lần chỉnh sửa cuối:
Hình như nó bị lỗi gì đó nên các macros không chạy được ptm ơi :( bạn sửa giúp mình với nhé.

mà ptm cho tớ hỏi, có macros nào mình dùng để gán data source cho chart không? như vậy sẽ đơn giản hơn :D
với lại làm sao để gán 2 macros cho cùng 1 object nhỉ? điển hình ở đây là combobox.
 
Chỉnh sửa lần cuối bởi điều hành viên:
Chạy bình thường mà. Nhưng phải đúng quy trình: khi thêm cột, phải nhấn nút thêm, để thêm name và thêm serie. Sau đó phải thay đổi giá của combobox để advanced filter lại, cập nhật thay đổi qua sheet chartdata chứ.

Thôi, làm vầy đi: code của button "thêm" sửa lại, thêm dòng lệnh filter vào cho chạy luôn:
PHP:
Private Sub CommandButton1_Click()
nameadd
Addserie
filter
End Sub
có macros nào mình dùng để gán data source cho chart không? như vậy sẽ đơn giản hơn

Có rồi trong file, bạn chưa xem à? Thế bạn hiểu thêm serie cho đồ thị là gì? không phải là gán data cho biểu đồ sao?
 
Lần chỉnh sửa cuối:
í mình là gán nguyên data source của biểu đồ, thay vì gán từng serie ấy.
để mình xem kỹ lại các code bạn viết, hiện chưa hiểu lắm vì mới đụng vào macros có 2 ngày thôi :D
 
Gán nguyên datasource cho biểu đồ chỉ có thể thực hiện khi biểu đồ chỉ có 1 serie. Biểu đồ nhiều series thì phải gán riêng từng serie. Cái đó là quy định của Excel rồi.
 
ptm0412
user-offline.png
Excel Ordinary Member Mình giống như bạn nhưng khi chạy macros thì lại không chạy biểu đồ bạn xem giúp mình chỉ cái cần sửa để mình học nhé..thân cảm ơn bạn..Mình thấy bài mày rất hay nên làm theo mà chỉ đi đến bước chart là po tay
 

File đính kèm

vấn đề không chỉ là name động, mà còn là đặt nguồn dữ liệu cho biểu đồ đúng cách.
Bạn xem nguồn dữ liệu của từng serie nha.
Ngoài ra tôi cũng dùng 1 name cho vùng dữ liệu gốc từ B đến F, để khi tăng mặt hàng lên nữa thì advanced filter và code vẫn hoạt động đúng. Tôi đã thử bằng cách tăng thêm 2 mặt hàng.
Chào bạn!
Bạn có thể chỉ mình phần name động để khi chọn biểu đồ vẽ vừa đủ dữ liệu không? Nếu được thì bạn mail vào tlhoang0211@gmail.com nhe.
Thanks.
 
Chào bạn!
Bạn có thể chỉ mình phần name động để khi chọn biểu đồ vẽ vừa đủ dữ liệu không? Nếu được thì bạn mail vào tlhoang0211@gmail.com nhe.
Thanks.
Bạn nhấn Ctrl F3 và xem name. Tất cả name đều dùng hàm Offset để có dữ liệu động, trong đó name dulieubieudo và name DLG là đầy đủ các tham số của hàm offset. Name dulieubieudo còn là vùng dữ liệu gốc cho các name còn lại offset qua.
Tôi sẽ không gởi mail.
 
Chào các bạn, hiện tại mình đã dùng VBA để vẽ được đồ thị , tuy nhiên khi lựa chon tháng <2 thì biểu đồ bị thay đổi, nhờ các bạn tư vấn giúp mình sửa lỗi với ah,
 

File đính kèm

Chào các bạn, hiện tại mình đã dùng VBA để vẽ được đồ thị , tuy nhiên khi lựa chon tháng <2 thì biểu đồ bị thay đổi, nhờ các bạn tư vấn giúp mình sửa lỗi với ah,
Tôi cũng biết lập trình sơ sơ, nhưng đối với biểu đồ động thì tôi tuyệt đối không lập trình, vì khó kiểm soát code (đúng/ sai, nhanh/ chậm ở các trường hợp khác nhau)
Bài này chỉ cần dùng name là được.
 

File đính kèm

Tôi cũng biết lập trình sơ sơ, nhưng đối với biểu đồ động thì tôi tuyệt đối không lập trình, vì khó kiểm soát code (đúng/ sai, nhanh/ chậm ở các trường hợp khác nhau)
Bài này chỉ cần dùng name là được.
cảm ơn bạn nhiều
Bài đã được tự động gộp:

Tôi cũng biết lập trình sơ sơ, nhưng đối với biểu đồ động thì tôi tuyệt đối không lập trình, vì khó kiểm soát code (đúng/ sai, nhanh/ chậm ở các trường hợp khác nhau)
Bài này chỉ cần dùng name là được.
Nhưng mình không hiểu cách làm, bạn có thể chỉ giúp mình với được không
 
Nhưng mình không hiểu cách làm, bạn có thể chỉ giúp mình với được không
1. Bạn vào Formula, Mở Name Manager xem từng name, mỗi name click vào dòng công thức xem nó tham chiếu đến vùng dữ liệu nào.
2. Sau đó bạn ngó trên thanh công thức: Click vào từng serie biểu đồ xem nó lấy dữ liệu từ name bằng cách nào, ngó thêm trên sheet xem nó đang khoanh vùng dữ liệu từ đâu đến đâu, so khớp với vùng dữ liệu đã xem ở bước 1.
3. Sau đó bạn sửa số tháng, lập lại 2 bước trên
4. Sau đó bạn nhấn like bài này 4 cái
 
1. Bạn vào Formula, Mở Name Manager xem từng name, mỗi name click vào dòng công thức xem nó tham chiếu đến vùng dữ liệu nào.
2. Sau đó bạn ngó trên thanh công thức: Click vào từng serie biểu đồ xem nó lấy dữ liệu từ name bằng cách nào, ngó thêm trên sheet xem nó đang khoanh vùng dữ liệu từ đâu đến đâu, so khớp với vùng dữ liệu đã xem ở bước 1.
3. Sau đó bạn sửa số tháng, lập lại 2 bước trên
4. Sau đó bạn nhấn like bài này 4 cái
thanks
 
Web KT

Bài viết mới nhất

Back
Top Bottom