Dùng VBA để mô phỏng chức năng Goal Seek của Excel

Một đoạn code VBA mình viết để mô phỏng lại chức năng Goal Seek của Excel. Nguyên tắc là tiến hành các phép thử, kiểm tra kết quả, chọn ra kết quả gần đúng nhất.

Userform:

Goalseek

Và code VBA:

Private Sub CommandButton1_Click()
Dim a1, a2 As String
Dim r1, r2 As Range
Dim t1, b, c, t, t_solution, c_solution, min As Double
a1 = RefEdit1.Value
a2 = RefEdit2.Value
t1 = TextBox1.Value
b = TextBox2.Value
min = 100000000
c = 0
Set r1 = Range(a1)
Set r2 = Range(a2)
Do
r2.Value = c
Calculate
t = r1.Value
If Abs(t – t1) < min Then
t_solution = t
c_solution = c
min = Abs(t_solution – t1)
End If
c = c + b
Loop Until c > 1
MsgBox (“Ket qua gan dung = ” & t_solution & vbNewLine & “Bien so gan dung = ” & c_solution)
End Sub

Enjoy😀

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: