Thứ code này xem:Mình đang giải quyết một bài toán có sử dụng Solver tuy nhiên nếu chưa kích hoạt Solver trong cửa sổ lập trình VBA như trong hình thì code báo lỗi không chạy. Vậy bạn náo giúp mình viết đoạn mã kích hoạt Solver trước được không? Nghĩa là không phải làm bằng tay tick như hình vẽ
Sub LoadSolverRef()
On Error Resume Next
With ThisWorkbook.VBProject
If .References("SOLVER") Is Nothing Then
.References.AddFromFile Application.LibraryPath & "\SOLVER\SOLVER.XLA"
End If
End With
End Sub
Sub UnloadSolverRef()
On Error Resume Next
With ThisWorkbook.VBProject
.References.Remove .References("SOLVER")
End With
End Sub
Bạn đã xem 2 dòng lưu ý dưới cùng chưa? Đã check vào mục Trust access to the VBA project object model chưa? Nếu chưa check thì code chẳng làm được cái gì cảBác ơi e dùng Excel 2010 và code trên không chạy được rồi hic hic. Bác nào giải quyết giúp em với
Thử sửa đoạn code 1 thành vầy xem;Sau khi chạy code thì nó vẫn là thê này
Sub LoadSolverRef()
On Error Resume Next
With ThisWorkbook.VBProject
If .References("SOLVER") Is Nothing Then
.[B]References.AddFromFile Application.LibraryPath & "\SOLVER\SOLVER.XLA[COLOR=#ff0000]M[/COLOR]"[/B]
End If
End With
End Sub
Thì IF 1 cái là xong ngay chứ gìThầy ơi giúp e thêm một chút là có cách nào để dùng trên cả excel 2003 và 2007, 2010 được không ạh, nghĩa là dùng excel 2003 thì nó thêm SOLVER.XLAcòn excel 2007,2010 thì thêm SOLVER.XLAM như thầy vừa hướng dẫn.
Sub LoadSolverRef()
Dim ExlVer As Long
On Error Resume Next
ExlVer = Val(Application.Version)
With ThisWorkbook.VBProject
If .References("SOLVER") Is Nothing Then
.References.AddFromFile Application.LibraryPath & "\SOLVER\SOLVER.XLA" & IIf(ExlVer > 11, "M", "")
End If
End With
End Sub