Xin trợ giúp sử dụng hàm tự tạo (3 người xem)

Liên hệ QC

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

ductam_ht1

Thành viên mới
Tham gia
1/9/09
Bài viết
13
Được thích
0
Chào các Bác,
Em viết xong 1 hàm tự tạo kiểu như sau: chitieu(range1, range2) và áp dùng vào file excel.
hàm chitieu thì E dùng ở 1 sheet và gọi các range1, range2 ở sheet khác.
Kết quả cho là chính xác.
Tuy nhiên E gặp vấn đề là khi thay đổi kết quả range1, range2 thì giá trị của ô chứa hàm chitieu không tự động thay đổi theo. E lại phải kích đúp vào cell chứa hàm -> enter. +-+-+-+

Có Bác nào cho E giải pháp với, Em cảm ơn nhiều!
 
Chào các Bác,
Em viết xong 1 hàm tự tạo kiểu như sau: chitieu(range1, range2) và áp dùng vào file excel.
hàm chitieu thì E dùng ở 1 sheet và gọi các range1, range2 ở sheet khác.
Kết quả cho là chính xác.
Tuy nhiên E gặp vấn đề là khi thay đổi kết quả range1, range2 thì giá trị của ô chứa hàm chitieu không tự động thay đổi theo. E lại phải kích đúp vào cell chứa hàm -> enter. +-+-+-+

Có Bác nào cho E giải pháp với, Em cảm ơn nhiều!
Ai biết hàm ấy bạn viết thế nào mà giúp chứ
Tuy nhiên, gợi ý nhỏ: Cho dòng Application.Volatile vào đầu code xem sao
 
Dạ, E cảm ơn Bác đã trả lời giúp, E viết hàm như sau:
Public Function chitieu(ref_Range As Range, Range1 As String, Range2 As String) As Long
Application.Volatile
Dim dt_sheet As Worksheet
For Each dt_sheet In ThisWorkbook.Worksheets
If dt_sheet.Name = ref_Range.Text Then
If Range2 = "" Then
chitieu = dt_sheet.Range(Range1)
Else
chitieu = dt_sheet.Range(Range1) + dt_sheet.Range(Range2)
End If
Exit For
End If
Next
End Function
Mục đích là để tính tổng range1 và range2 từ các sheet có tên đặt trong ô "ref_Range" của sheet tổng hợp.
Em đã cho dòng Application.Volatile vào rồi nhưng vẫn ko được Bác ạ.
Bác xem giúp E với nhé!
 
Web KT

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

Back
Top Bottom