Xin hướng dẫn cách sử dụng goal seek hàng loạt (3 người xem)

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

longruoi.xls

Thành viên mới
Tham gia
21/11/14
Bài viết
21
Được thích
8
Em chào mọi người. Chúc các bác ngày chủ nhật vui vẻ.

Em đang có bảng tính cần sử dụng đến goal seek nhưng làm thủ công hay nếu có thay đổi giá trị đầu vào lại dùng goal seek từ đầu thì lâu quá các bác ạ.
Em có search google cũng không thấy cách nào dùng được goal seek tự động cũng như không tìm thấy cách khác để giải quyết bài toán của mình.
Bài toán của em được giải thích rõ trong file đính kèm. Rất mong được các bác giúp đỡ.

Capture.PNG


Cảm ơn các bác đã xem.
 

File đính kèm

Lần chỉnh sửa cuối:
Em đã tìm được bài viết hướng dẫn cách giải quyết. Vì vậy post lên đây cho ai search được bài viết này của em có thể tự xem và làm theo hướng dẫn để giải quyết các vấn đề tương tự.


Mọi người chèn đoạn code marco này vào. Trong đó (6, "H") là ô đặt mục tiêu của goal seek. F là cột chứa giá trị cần thay đổi cho nó bằng với mục tiêu. E là cột giá trị cần giải ra bằng goal seek khi cột F thay đổi bằng với mục tiêu ở ô 6H. Dự vào các giải thích này hoặc mọi người xem video ở trên là sẽ điều chỉnh được cho phù hợp với bảng tính của mình.

Sub Goal_Seek_Range_SingleGoal()
Dim j As Integer
For j = 5 To 13
Cells(j, "F").GoalSeek Goal:=Cells(6, "H"), ChangingCell:=Cells(j, "E")
Next j
End Sub

Trân trọng.
 
Sub GoalSeek_Hang_Loat()
Dim setCells As Range, targetCells As Range, changingCells As Range
Dim i As Long
On Error Resume Next
Set setCells = Application.InputBox("Dung chuot quet chon cot chua CONG THUC (Set Cell):", "Chon Vung 1", Type:=8)
If setCells Is Nothing Then Exit Sub
Set targetCells = Application.InputBox("Dung chuot quet chon cot chua GIA TRI MUC TIEU (To Value):", "Chon Vung 2", Type:=8)
If targetCells Is Nothing Then Exit Sub
Set changingCells = Application.InputBox("Dung chuot quet chon cot chua O CAN THAY DOI (By Changing Cell):", "Chon Vung 3", Type:=8)
If changingCells Is Nothing Then Exit Sub
On Error GoTo 0
If setCells.Cells.count <> targetCells.Cells.count Or setCells.Cells.count <> changingCells.Cells.count Then
MsgBox "Loi: So luong o cua 3 vung ban chon khong bang nhau!", vbCritical
Exit Sub
End If

For i = 1 To setCells.Cells.count
If setCells.Cells(i).HasFormula Then
setCells.Cells(i).GoalSeek Goal:=targetCells.Cells(i).Value, ChangingCell:=changingCells.Cells(i)
End If
Next i

MsgBox "Da xu ly xong Goal Seek hang loat!", vbInformation, "Thanh cong"
End Sub

'Không biết b còn cần hông, mình góp vui chút cho những người sauu kkk. Này có hộp cho mình chọn khi chạy, không phải sửa code tiện lợi hơn chút
 

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

Back
Top Bottom