Option Explicit
Private Sub cmd初期化_Click() '初期化
With ActiveSheet
.Range("MSG") = ""
.初期化
End With
End Sub
Private Sub cmd確保条件_Click()
With ActiveSheet
.Range("MSG") = ""
.条件設定_確保
SolverOptions , , , , , , , , , , , , , , , , , , , , TIME_NO_IMP_MAX
SolverOkDialog SetCell:="目標_過不足", MaxMinVal:=2, ValueOf:=0, ByChange:="変化させるセル", Engine:=3, EngineDesc:="Evolutionary"
If .Range("目標_過不足") = 0 Then .Range("MSG") = "確保成功"
.cmd勤務色更新_Click
End With
End Sub
Private Sub cmd日数調整条件_Click()
With ActiveSheet
.Range("MSG") = ""
.条件設定_日数調整
SolverOkDialog SetCell:="目標_予定数差", MaxMinVal:=2, ValueOf:=0, ByChange:="変化させるセル", Engine:=3, EngineDesc:="Evolutionary"
If .Range("目標_予定数差") = 0 Then .Range("MSG") = "調整成功"
.cmd勤務色更新_Click
End With
End Sub
Private Sub cmd均等再配置_Click() '均等再配置
With ActiveSheet
' If .Range("目標_予定数差") <> 0 Then
' MsgBox "目標_予定数が0になっていません。前段の処理から再度行って下さい。", vbOKOnly, "目_予定数差が0になっていません。"
' Exit Sub
' End If
Call reAllocate("変化させるセル", "条件_最適化", "目標_最適化") '均等再配置
SetKinmuCellColor ActiveSheet.Range("出力") '勤務色更新
End With
End Sub
Private Sub cmdランダム入替_Click()
With ActiveSheet
Call randomReAllocate("変化させるセル", "条件_調整", 3) 'ランダム入れ替え
.cmd勤務色更新_Click
End With
End Sub
Private Sub cmd勤務色更新_Click()
With ActiveSheet
.cmd勤務色更新_Click
End With
End Sub
Private Sub cmdSolverDialog_Click() 'ダイアログ
With ActiveSheet
.cmdSolverDialog_Click
End With
End Sub
Private Sub cmd必須条件_Click()
End Sub
Private Sub cmd閉じる_Click()
Unload Me
End Sub
Private Sub cmdGoSolver1_Click() 'ソルバー1実行
With ActiveSheet
lblNote.Visible = True
DoEvents
.cmdGo_Click
lblNote.Visible = False
End With
End Sub
Private Sub cmdGoSolver2_Click() '勤務日数自動調整
With ActiveSheet
.勤務日数自動調整
End With
End Sub