Hàm tự tạo cập nhật kết quả tự động khi dữ liệu thay đổi ? (1 người xem)

Liên hệ QC

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

candauvan

Thành viên mới
Tham gia
10/10/14
Bài viết
11
Được thích
1
Xin chào các bạn, mình có một vấn đề nhờ các bạn giúp\
Trong sheet 2 mình có một hàm tự tạo để đếm số hàng (ô) trong vùng dữ liệu ở sheet 1 trùng với màu cho trước. Khi mình thêm dữ liệu mới ở sheet 1 thì trong sheet 2 kết quả đếm không tự cập nhật như các hàm có sẵn mà phải đặt con trỏ vào công thức và gõ enter trong hàm tự tạo thì mới cập nhật.

Xin nhờ các bạn chỉ giúp cách nào để kết quả đếm trong sheet 2 bằng hàm tự tạo tự cập nhật khi dữ liệu từ sheet 1 thay đổi.
Chân thành cám ơn}}}}}
 
Bạn có thể gửi file excel có hàm tự tạo của bạn lên diễn đàn được không, mọi người mới biết đường mà trả lời.
P/s: Bạn kiểm tra lại xem phần cài đặt option, calculation có để manual không nhé, nếu có thì chọn lại là automatic là được
 
Upvote 0
Xin chào các bạn, mình có một vấn đề nhờ các bạn giúp\
Trong sheet 2 mình có một hàm tự tạo để đếm số hàng (ô) trong vùng dữ liệu ở sheet 1 trùng với màu cho trước. Khi mình thêm dữ liệu mới ở sheet 1 thì trong sheet 2 kết quả đếm không tự cập nhật như các hàm có sẵn mà phải đặt con trỏ vào công thức và gõ enter trong hàm tự tạo thì mới cập nhật.

Xin nhờ các bạn chỉ giúp cách nào để kết quả đếm trong sheet 2 bằng hàm tự tạo tự cập nhật khi dữ liệu từ sheet 1 thay đổi.
Chân thành cám ơn}}}}}
Thử thêm dòng lệnh này vào đầu code
Function ABC()
Application.Volatile
.................
End Function
 
Upvote 0
Mình đã kiểm tra option vẫn để automatic, thử đổi qua manual rồi đổi ngược lại cũng không được, đã thử cách của anh quangha1969 rồi cũng không được, nên gửi file nhờ các bạn xem giúp.
Cám ơn rất nhiều-=.,,
 

File đính kèm

Upvote 0
Mình đã kiểm tra option vẫn để automatic, thử đổi qua manual rồi đổi ngược lại cũng không được, đã thử cách của anh quangha1969 rồi cũng không được, nên gửi file nhờ các bạn xem giúp.
Cám ơn rất nhiều-=.,,

Trong file của bạn, có thấy bạn thêm đoạn Application.Volatile vào đâu ma bảo là "không được"
 
Upvote 0
Lạ nhỉ, file trong máy mở ra có ngay mà, ko biết file up len diễn đàn có không, nhưng em đã thêm vào rồi ạ
Bạn thử code này vào xem nhé!
Mã:
Function CountByColor(range_data As Range, criteria As Range) As Long
[B]    Application.Volatile[/B]
    Dim datax As Range
    Dim xcolor As Long
xcolor = criteria.Interior.ColorIndex
For Each datax In range_data
    If datax.Interior.ColorIndex = xcolor Then
        CountByColor = CountByColor + 1
    End If
Next datax
End Function
 
Upvote 0
Bạn thử code này vào xem nhé!
Mã:
Function CountByColor(range_data As Range, criteria As Range) As Long
[B]    Application.Volatile[/B]
    Dim datax As Range
    Dim xcolor As Long
xcolor = criteria.Interior.ColorIndex
For Each datax In range_data
    If datax.Interior.ColorIndex = xcolor Then
        CountByColor = CountByColor + 1
    End If
Next datax
End Function

Thêm dòng Application.Volatile vào như anh quanghai1969 hướng dẫn mình thử ngay từ đầu nhưng không được
 
Upvote 0
"A volatile function must be recalculated whenever calculation occurs in any cells on the worksheet". Theo mình nghĩ volatile chỉ có hiệu lực khi hàm và dữ liệu ở trong cùng 1 worksheet, chứ không phải ở trong cả workbook như trường hợp của mình, có ai có cách nào khác không ạ?
 
Upvote 0
"A volatile function must be recalculated whenever calculation occurs in any cells on the worksheet". Theo mình nghĩ volatile chỉ có hiệu lực khi hàm và dữ liệu ở trong cùng 1 worksheet, chứ không phải ở trong cả workbook như trường hợp của mình, có ai có cách nào khác không ạ?

Nói tóm lại: Trong file bạn chưa thêm dòng lệnh này vào nên bạn không test được gì cả là đúng rồi
Trước giờ mọi người vẫn xài vậy, có thấy ai "than thở" gì đâu chứ
 
Upvote 0
file anh ndu96081631 up lên khi thêm số hàng có màu vàng vào sheet MOR qua sheet 1 vẫn phải để con trỏ vào ô D5 nhấn enter nó mới cập nhật kết quả mới.
 
Upvote 0
file anh ndu96081631up lên khi thêm số hàng có màu vàng vào sheet MOR qua sheet 1 vẫn phải để con trỏ vào ô D5 nhấn enter nó mới cập nhật kết quả mới.

Vậy thì máy bạn bị sao rồi. Tôi test bình thường, cập nhật bình thường (khỏi F2, Enter gì ráo)
----------------------
Nói thêm: Bạn nói bạn thêm dữ liệu bạn sheet MOR nhưng bên sheet1 không cập nhật? Tôi e rằng không phải bạn THÊM DỮ LIỆU mà bạn đang TÔ MÀU THÊM? Tức dữ liệu không thay đổi gì cả, chỉ có màu sắc là thay đổi thôi. Tôi nói đúng chứ?
Nếu đúng như tôi mô tả thì chỉ cần bấm F9 là được
 
Upvote 0
Vậy thì máy bạn bị sao rồi. Tôi test bình thường, cập nhật bình thường (khỏi F2, Enter gì ráo)
----------------------
Nói thêm: Bạn nói bạn thêm dữ liệu bạn sheet MOR nhưng bên sheet1 không cập nhật? Tôi e rằng không phải bạn THÊM DỮ LIỆU mà bạn đang TÔ MÀU THÊM? Tức dữ liệu không thay đổi gì cả, chỉ có màu sắc là thay đổi thôi. Tôi nói đúng chứ?
Nếu đúng như tôi mô tả thì chỉ cần bấm F9 là được

Cả tô màu và thêm dữ liệu anh ạ,em nhấn Ctr+Alt+F9 thì nó cập nhật. Để em kiếm máy khác chạy xem sao.
 
Upvote 0
Em cũng đang cùng câu hỏi như bạn trên, anh chị có cách nào cho hàm chạy tự động khi mình thay đổi màu của ô không ạ? (nhiều khi quên ấn F9 thì dễ bị sai)
 
Upvote 0
Em cũng đang cùng câu hỏi như bạn trên, anh chị có cách nào cho hàm chạy tự động khi mình thay đổi màu của ô không ạ? (nhiều khi quên ấn F9 thì dễ bị sai)
KHÔNG CÓ CÁCH NÀO đâu (nếu lười bấm F9) ---> Khỏi tìm
Còn cái chuyện "dễ bị sai" như bạn nói là chuyện không thể nào. Excel tạm thời chưa cập nhật chứ làm gì có chuyện SAI. Sau khi bạn đóng và lưu file thì nó tính lại toàn bộ
 
Upvote 0
Em cũng đang cùng câu hỏi như bạn trên, anh chị có cách nào cho hàm chạy tự động khi mình thay đổi màu của ô không ạ? (nhiều khi quên ấn F9 thì dễ bị sai)
Code này cứ 5s thì bác Bill thò tay ra bấm F9 1 cái nè. Kết quả thế nào thì mình hỏng biết à nghen.
PHP:
Sub F9_Press()
SendKeys "{F9}"
abc
End Sub
Sub abc()
Application.OnTime Now + TimeValue("00:00:05"), "F9_Press"
End Sub
Sub auto_open()
abc
End Sub
 
Upvote 0
Web KT

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

Back
Top Bottom