Xin các bác giúp em đoạn code tìm giá trị nhỏ nhất này với ạ (1 người xem)

Liên hệ QC

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

dovanhungbn

Thành viên mới
Tham gia
21/11/13
Bài viết
3
Được thích
0
Option Explicit

'Khai bao bien
Dim MCI, MCI0, MCI1, MCI2, i As Double
Private Sub btnGiai_Click()


'Kiem tra nhap chu
If IsNumeric(C.Text) And IsNumeric(R.Text) And IsNumeric(F.Text) Then
MCI = 10 - 1.48 * (C ^ 0.3) - 0.29 * (R ^ 0.7) - 0.47 * (F ^ 0.2)
MCI0 = 10 - 1.51 * (C ^ 0.3) - 0.3 * (R ^ 0.7)
MCI1 = 10 - 2.23 * (C ^ 0.3)
MCI2 = 10 - 0.52 * (R ^ 0.7)

i = Min(MCI, MCI0, MCI1, MCI2)


lbKetqua.Caption = "Chi so =" & Round(i)


End If
End Sub

ý của em là khi nhập 3 giá trị C,R và F thì sẽ thay vào 4 công thức trên.rồi thì lấy giá trị nhỏ nhất trong 4 kết quả đó và xuất ra kết quả chỉ số = cái nhỏ nhất!
bác nào biết code xin múa giúp e chút ạ !$@!!
 
Bạn đã thử hàm MIN(123,456,789) trong cửa sổ 'Immediate chưa vậy?
Nếu thử thấy cho kết quả sai thì nên khai báo 1 biến mảng như
ReDim Arr(1 To 4)
& Dùng vòng lặp For. . . . Next để tìm trị MIN trong nớ!

Tiếp tục đi bạn!
 
Upvote 0
Đặt thêm một hàm như vầy:

Mã:
Private Function FMIN(byVal val1 As Double, byVal val2 As Double) As Double
' Hàm so sánh 2 trị và trả về trị nhỏ hơn
FIMN = Iif(val1 < val2, val1, val2)
End Function

Sửa đoạn code lấy trị MIN của 4 số thành:

i = FMIN(MCI, FMIN(MCI0, FMIN(MCI1, MCI2)))
 
Upvote 0
ý của em là khi nhập 3 giá trị C,R và F thì sẽ thay vào 4 công thức trên.rồi thì lấy giá trị nhỏ nhất trong 4 kết quả đó và xuất ra kết quả chỉ số = cái nhỏ nhất!
bác nào biết code xin múa giúp e chút ạ !$@!!

Trong VBA không có sẵn hàm MIn,Max --> bạn phải tự xây dựng các hàm tìm giá trị lớn nhất , nhỏ nhất
Tuy nhiên trong VBA bạn có thể sử dụng các hàm có sẵn của excel , ví dụ như trường hợp min, max như sau :
i = Application.WorksheetFunction.Min(MCI,MC11,MC12)
 
Lần chỉnh sửa cuối:
Upvote 0
Trong VBA không có sẵn hàm MIn,Max --> bạn phải tự xây dựng các hàm tìm giá trị lớn nhất , nhỏ nhất
Tuy nhiên trong VBA bạn có thể sử dụng các hàm có sẵn của excel , ví dụ như trường hợp min, max như sau :
i = Application.WorksheetFunciton.Min(MCI,MC11,MC12)

loi.jpg

bác ơi,nó báo lỗi ợ?bác xem giúp e với
 
Upvote 0
Upvote 0
có vẻ ngon rồi bác ạ }}}}}
cho em hỏi thêm là làm thế nào cho nó ra kết quả chuẩn với ạ.e thử chạy nó toàn làm tròn thôi bác ạ!

Bạn thử dùng hàm round xem :
vd : Round(i,3)
nếu không thấy thỏa mãn thì thử xem các hàm rounddown, roundup,.. trong excel :
vd : worksheetfunction.rounddown
 
Upvote 0
Web KT

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

Back
Top Bottom