Hỏi về Range.Dependents.Count (2 người xem)

Liên hệ QC

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

shuyinol

Thành viên mới
Tham gia
5/5/15
Bài viết
14
Được thích
10
Chào mọi người

Mình đang làm một đọan code dùng để kiểm tra xem một cell có reference đến một cell khác hay không. Theo kiểu như thế này

isDependent(Cell as range cần kiểm tra có dependent hay không, Có phải dependent vào Cell as Range này hay không) = Boolean

Ví dụ: Công thức tại ô A1 = A2 + A3. Công thức tại ô A4 = isDependent(A1,A2) = True

Mình có thử làm một đọan như thế này nhưng tòan trả về False thôi. Mong mọi người chỉ giúp.

Option Explicit
Public Function isDependent(CheckRange As Range, DependentRange As Range) As Boolean
Dim i As Integer
Dim ub As Integer
ub = CheckRange.Dependents.Count
For i = 1 To ub
If CheckRange.Dependents.Cells(i) = DependentRange.Value Then
isDependent = True
End If
Next i
End Function
Xin cảm ơn
Shuyinol
 
Chào mọi người

Mình đang làm một đọan code dùng để kiểm tra xem một cell có reference đến một cell khác hay không. Theo kiểu như thế này



Mình có thử làm một đọan như thế này nhưng tòan trả về False thôi. Mong mọi người chỉ giúp.
Option Explicit
Public Function isDependent(CheckRange As Range, DependentRange As Range) As Boolean
Dim i As Integer
Dim ub As Integer
ub = CheckRange.Dependents.Count
For i = 1 To ub
If CheckRange.Dependents.Cells(i) = DependentRange.Value Then
isDependent = True
End If
Next i
End Function

Xin cảm ơn
Shuyinol

Nói ngắn gọn:
- Phương thức SpecialCells nói chung và Dependents nói riêng không được phép sử dụng trong các hàm tự tạo (dù có dùng nó cũng không hoạt động)
- Bạn chỉ có thể dùng các phương thức này trong 1 thủ tục (Sub)
 
Upvote 0
Cảm ơn anh Ndu, vậy không biết đối với một yêu cầu như vậy, anh ndu có hướng giải quyết nào giúp em không?
Cảm ơn anh
Shuyinol
 
Upvote 0
Cảm ơn anh Ndu, vậy không biết đối với một yêu cầu như vậy, anh ndu có hướng giải quyết nào giúp em không?
Cảm ơn anh
Shuyinol

Thì như đã nói ở trên: Viết 1 thủ tục thay vì viết 1 hàm
Mã:
[COLOR=#ff0000]Sub[/COLOR] isDependent()
  'làm gì đó tùy ý
End Sub
 
Upvote 0
Nói ngắn gọn:
- Phương thức SpecialCells nói chung và Dependents nói riêng không được phép sử dụng trong các hàm tự tạo (dù có dùng nó cũng không hoạt động)
- Bạn chỉ có thể dùng các phương thức này trong 1 thủ tục (Sub)

Tìm ở đâu để biết các phương thức không được dùng trong hàm tự tạo.
 
Upvote 0
Tìm ở đâu để biết các phương thức không được dùng trong hàm tự tạo.

Tìm trên Google bạn à! Thời đại công nghệ thông tin mà
http://www.decisionmodels.com/calcsecretsj.htm
Cụ thể là đoạn này:
[h=3]UDF action being ignored.[/h] Excel will not allow a UDF written in VBA to alter anything except the value of the cell in which it is entered.
You cannot make a VBA UDF which directly:


  • Alters the value or formula or properties of another cell.
  • Alters the formatting of the cell in which it is entered.
  • Alters the environment of Excel. This includes the cursor.
  • Uses FIND, SpecialCells, CurrentRegion, CurrentArray, GOTO, SELECT, PRECEDENTS etc : although you can use Range.End.
  • Note you can use FIND in Excel 2002/2003.
 
Upvote 0
Web KT

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

Back
Top Bottom