2
2 개를 결합해야합니다 Private Sub Worksheet_Change(ByVal Target As Range)
저는 Excel VBA 코드가 처음입니다, 어떻게해야합니까? 아래 코드.2 개 개인 서브 워크 시트 합치기 (범위로 ByVal 목표)
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range, r As Range, rv As Long
Set rng = Intersect(Target, Range("C77:AD81"))
If rng Is Nothing Then Exit Sub
For Each r In rng
rv = r.Value
'Peak Flow Doctor Warning and Weight Gain Warning
If rv = 180 Then
MsgBox "''PEAK FLOW CRITICAL AT 180L/MIN''" & vbCrLf & "''PREDNISONE PROBABLY REQUIRED''" & vbCrLf & "''MAKE DOCTOR'S APPOINTMENTS ASAP''", vbInformation, "WARNING"
End If
If rv = 120 Then
MsgBox "''PEAK FLOW CRITICAL AT 120L/MIN''" & vbCrLf & "''MAKE URGENT DOCTOR'S APPOINTMENTS''" & vbCrLf & "''OR GO TO A&E IMMEDIATELY''", vbInformation, "CRITICAL WARNING"
End If
If rv >= 450 Then
MsgBox "''CHECK OR TEST PEAK FLOW METER''" & vbCrLf & "''IT MAY BE FAULTY AND GIVING FALSE HIGH's''", vbInformation, "WARNING"
End If
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range, r As Range, rv As Long
Set rng = Intersect(Target, Range("C93:AD93"))
If rng Is Nothing Then Exit Sub
For Each r In rng
'Weight Gain Warning
rv = r.Value
If rv = 90 Then
MsgBox "''LIKELY TO EXACERBATE COPD SYMPTOMS''" & vbCrLf & "''CHRONIC ASTHMA OR EMPHYSEMA PROBABLE''", vbCritical, "WARNING"
End If
If rv = 95 Then
MsgBox "''IF SWELLING IN ANKLES PROBABLE FLUID RETENTION''" & vbCrLf & "''POSSIBILITY OF HEART FAILURE IF UNATTENDED''", vbCritical, "CRITICAL WARNING"
End If
Next r
End Sub
당신이 결합하는 방법을 의미합니까? 단일 변경 이벤트에서 두 절차를 모두 수행 하시겠습니까? 특정 순서대로 완료해야합니까? 당신의 정확한 문제와 당신이 시도한 것을 설명하려고 노력하면 해결책을 제시 할 수 있습니다. – Sercho
쉬운 방법은 두 번째 개인 하위 변수의 이름을 다시 지정하는 것입니다. 예를 들어, rng -> rng2 : r -> r2. – Maki
범위 값에 Msgbox 펜던트를 반환하는 두 가지 다른 대상 범위가 있지만 두 개의 Private Sub를 실행할 수 없습니다. 저는 Maki example, rng -> rng2 : r -> r2를 시도했지만 다음 r에서 컴파일 오류가 발생합니다. VBA를 처음 접했을 때 나는 약간 혼란 스럽습니다. –