MsgBoxReults를 기반으로 Sub를 다시 시작하려고합니다. 내가 가지고있는 코드는 오류가 없지만 사용자 선택에 따라 다시 시작하지 않습니다. (다른 IF 내 IF 문을 사용하는 것이 문제가 아님)Excel VBA 자체 내에서 VbMsgBoxResult를 기반으로 동일한 서브 루틴 다시 시작
도와주세요.
Sub ContinueWeatherList()
Dim Weather As String
'Assigning a Message Box result as a Variable for Yes/No
Dim MoreWeather As VbMsgBoxResult
Weather = InputBox("Type in the weather for " & Range("C1").End(xlDown) + 1)
If Weather = "" Then
MsgBox ("No data entered. Your response has not been recorded"), vbExclamation
Else
Range("C1").End(xlDown).Offset(1, 0).Value = Range("C1").End(xlDown) + 1
Range("A1").End(xlDown).Offset(1, 0).Value = Range("A1").End(xlDown) + 1
Range("B1").End(xlDown).Offset(1, 0).Value = Weather
Columns("A:C").EntireColumn.AutoFit
MsgBox "Thank you for entering your data " & vbNewLine & "Would you like to enter another?", vbYesNo
'Using IF statement to decide what happens for each condition
If MoreWeather = vbYes Then
''Call' command won't reinitiate Sub/*NEED TO FIX*
Call ContinueWeatherList
Else
MsgBox "Thank you for you input.", vbInformation
End If
End If
최종 하위
@J VBA 변형 및 IF 문제가되지 않습니다 (달성하려는 논리에 따라 다름). 아래 내 대답을 참조하십시오 –