focus_hero
Thành viên mới

- Tham gia
- 5/5/08
- Bài viết
- 3
- Được thích
- 0
Mình đang có 1 bài toán: tương ứng với mỗi 1 giá trị frame text có 1 tập hợp các giá trị M3. Trong bảng dự liệu có rất nhiều giá trị frame text. Mục đích bây giờ của mình là lọc ra giá trị M3 max tương ứng với mỗi frame text. Cách giải của mình là viết ra 1 hàm maxif với cú pháp
= maxif(MTtim,doituong,MTKQ)
MTtim là cột chứa các giá trị frame text
doituong là giá trị frame text cần tìm max tương ứng
MTKQ là cột chứa các giá trị M3.
Đoạn code mình viết là:
Function Maxif(MTtim(), doituong, MTKQ())
Dim MTtim() As Double
Dim doituong As Double
Dim MTKQ() As Double
Dim i As Integer
Maxif = 0
For i = 0 To UBound(MTtim())
If MTtim(i) = doituong Then
If Maxif < MTKQ(i) Then Maxif = MTKQ(i) Else Maxif = Maxif
End If
End If
Next
End Function
Nhưng kết quả lại không được như ý muốn, bạn nào giúp mình kiểm tra lỗi code dùm (mình mới tập toẹ viết code nên còn nhiều điều chưa biết). Mục đích của bài toán là phải giải bằng VBA ko dùng các hàm excel, vì giải bằng hàm excel mình cũng đã giải được rồi.
= maxif(MTtim,doituong,MTKQ)
MTtim là cột chứa các giá trị frame text
doituong là giá trị frame text cần tìm max tương ứng
MTKQ là cột chứa các giá trị M3.
Đoạn code mình viết là:
Function Maxif(MTtim(), doituong, MTKQ())
Dim MTtim() As Double
Dim doituong As Double
Dim MTKQ() As Double
Dim i As Integer
Maxif = 0
For i = 0 To UBound(MTtim())
If MTtim(i) = doituong Then
If Maxif < MTKQ(i) Then Maxif = MTKQ(i) Else Maxif = Maxif
End If
End If
Next
End Function
Nhưng kết quả lại không được như ý muốn, bạn nào giúp mình kiểm tra lỗi code dùm (mình mới tập toẹ viết code nên còn nhiều điều chưa biết). Mục đích của bài toán là phải giải bằng VBA ko dùng các hàm excel, vì giải bằng hàm excel mình cũng đã giải được rồi.