2017-12-06 2 views
-1

특정 셀의 값이 변경되면 프로그램을 실행하고 싶습니다.Excel VBA에서 조건부 프로그램을 코딩하는 방법

예를 들어, 셀 E9 변경의 값이 다음 프로그램을 실행하는 경우 : 워크 시트 모듈이 아닌 표준 모듈의 장소 :

Sub macrorepeatsolveNRTL() 

Dim count As Long 
count = 3 
Do While count <= 203 
    SolverOk SetCell:=Sheets("ParametersNRTL").Cells(count, 27), 
    MaxMinVal:=3, ValueOf:=1, ByChange:=Sheets("ParametersNRTL").Cells(count, 12) 
SolverSolve UserFinish:=True 
count = count + 1 
Loop 
End Sub 
+2

재 * "...의 경우 특정 셀 변경 값 '*는 그 다음 사용 수식 재계에서 변경된 경우, 새로운 값은 다음 이벤트를 캡처하는 Worksheet_Change를 사용하여 타이핑 바뀌면 Worksheet_Calculate. – Jeeped

+0

if 문 작성을 도와 줄 수 있습니까? 프로그래밍에 익숙하지 않습니다. –

+0

사실, 안돼 ... 할 수 없어. 특히 당신이 이전에 언급 한 하나의 가장 중요한 사실을 분명히하는 것을 게을리했다는 사실 때문에. 진지하게, 나는 20 가지 질문을하기 위해 여기에 있지 않다. – Jeeped

답변

1

중요합니다. 스프레드 시트에서 워크 시트 탭을 마우스 오른쪽 단추로 클릭 한 다음 "코드보기"를 클릭하여이 작업을 쉽게 수행 할 수 있습니다.

Option Explicit 

Private Sub Worksheet_Change(ByVal Target As Range) 

    Dim myTarget As Range 
    Set myTarget = Range("E9") 

    If Not Intersect(Target, myTarget) Is Nothing Then 
     macrorepeatsolveNRTL 
    End If 

End Sub 
+0

감사! 고맙다. –

2

보고있는 "E9"셀이있는 워크 시트의 코드 모듈에 넣으십시오.

Private Sub Worksheet_Change(ByVal Target As Range) 
    If Target.Address = Range("E9").Address Then 
     Call macrorepeatsolveNRTL 
    End If 
End Sub