2017-10-24 2 views
0

Excel VBA에 익숙하지 않아서 사과해야 할 질문이있는 경우 사과드립니다.
Excel에서 모델을 만들고 있는데 실제로 시도하고 있습니다. checkbox이 선택되면 inputbox을 트리거하십시오.체크 박스를 기반으로 InputBox 열기

Private Sub Worksheet_Change(ByVal Target As Range) 
    Set Target = Range("G7") 

    If Target.Value = "TRUE" Then 

     Dim QtyEntry As Integer 
     Dim Msg As String 
     Msg = "Please insert value" 
     QtyEntry = InputBox(Msg) 
     ActiveSheet.Range("C7").Value = QtyEntry/100 

    End If 
End Sub 

target.valueG7checkbox에 연결된 세포, 그래서 검사가 꺼져있을 때 검사 또는 FALSE 때 그것은 TRUE를 반환

은 지금까지 나는 다음을 수행 할 수 있었다. 그러나 두 가지 종류의 문제가 있습니다. 첫 번째는 확인란을 선택하면 매크로가 실제로 활성화되지 않는다는 것입니다. 그러나 대상 셀에 "TRUE"라고 쓰면됩니다.

두 번째는 inputbox이 나타나면 값을 올바르게 배치합니다. 세포 C7,하지만이 사라지고없이 입력 값에 요구에 계속 그것.

+0

'G7' 셀에 사용하는 수식으로 게시물을 편집 할 수 있습니까? – danieltakeshi

+0

셀 G7에 수식이 없습니다. 이 셀은 확인란에 연결되어 있기 때문입니다. 이 때 셀 G7보고 "TRUE"그렇지 않으면 "거짓" – user2008338

답변

1

이유는 바로 직접?과 같이 체크 박스의 이벤트를하지

Private Sub CheckBox1_Change() 
    If (CheckBox1.Value) Then 

     Dim QtyEntry As Integer 
     Dim Msg As String 
     Msg = "Please insert value" 

     'errNum is used to catch if an error has happened from the inputbox entry 
     Dim errNum as integer 
     Err.Clear 
     On error resume next 'this line tells the code to continue even if it encounters an error 
     QtyEntry = InputBox(Msg) 
     errNum = Err.Number 
     On error goto 0 'this reset the default behavior of error handling 

     Excel.Application.enableEvents = False 'this is to avoid the change of the cell "C7" calling your `Worksheet_Change` event 
     'edit to include if user click cancel or nothing is entered 
     If (errNum = 0) then 
      ActiveSheet.Range("C7").Value = QtyEntry/100 
     End if 
     Excel.Application.enableEvents = True 

    End If 
End Sub 

는 액티브 Checkbox와 함께 사용할 수

+0

감사합니다 simpLE MAn,이 훌륭한 일했다! 확인란을 선택하지 않으면 값을 0으로 재설정하기 위해 코드 행을 추가했습니다. 사소한 버그가 하나 남았습니다. 어떤 값을 입력하지 않고 입력 상자를 닫을 때 "ok"또는 "cancel"을 눌러 오류 메시지 (및 VBA 편집기 열기)를 피할 수있는 방법에 대한 아이디어가 있습니까? – user2008338

+0

제발, 편집 –

+0

고마워요,하지만 꽤 작동하지, 난 여전히 오류 유형 13 유형 불일치! If QtyEntry = ""Exit Sub와 같은 코드 줄을 추가하려고하지만 여전히 작동하지 못합니다. – user2008338

관련 문제