나눔터  
  HOME > 나눔터 > 묻고답하기 > 엑셀
엑셀
엑셀에 대한 질문과 답변을 올려주세요. 단, 취지에 맞지 않는 글은 운영자가 삭제합니다.
 "000 님, 도와주세요", "부탁 드립니다.", "급합니다!" 등과 같이 막연한 제목을 달지 말아주세요.
[필독] 빠르고 정확한 답변을 얻는 16가지 Tip !
[필독] 저작권법 개정에 따른 이용안내

작성자:  

 양재호 (jaeho1yang)

추천:  2
파일:     조회:  1158
제목:   워크시트의 내용을 유저폼에 보여줄때 타이밍(?)문제
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

 - 엑셀 버전(2013):

* 아래줄에 질문을 작성하세요 >>

안녕하세요.

기본 데이터를 워크시트에 넣어놓고 숫자의 조작 등은 사용자폼으로 하고 싶습니다.

A1:E1까지는 5종목의 점수가 들어가고
F1에는 =SUM(A1:E1) 이 들어가 있습니다.

사용자폼에는 5종목에 대한 각각의 콤보박스+텍스트박스가 있고
TextBox1.ControlSource = A1
TextBox2.ControlSource = B1
......
이며

TextBoxSum 이 있어서
TextBoxSum.Value = F1
으로 총점을 표시합니다.

콤보박스(아이템 A,B,C,D,F)를 선택하면 

Private Sub ComboBox1_Change()
    ...
    TextBox1.Value = 수식(ComboBox1)
    TextBoxSum.Value = F1
    ...
End Sub

으로 각 랭크에 대한 점수(100,80,60,40,20)가 텍스트박스에 표시됩니다.

그런데 TextBoxSum의 갱신이 바로 안되는 문제가 있네요.
콤보를 조작하면 바로 텍스트박스의 내용이 워크시트에 반영되고
총점(F1)도 바로 갱신되는데

TextBoxSum은 같은 항목이든 다른 항목이든 점수를 한번 더 바꿔야 이전 점수가 적용됩니다.
(예를들어 1번 콤보를 처음에 A 선택(A1=100, F1=100) -> 총점텍스트 변화없음 -> 1번 콤보를 F 선택(A1=20, F1=20) -> 총점텍스트 100으로 바뀜 -> 2번 콤보를 A 선택(A1=20, B1=100, F1=120) -> 총점 텍스트 20으로 바뀜 이런 식요)

왜 안되나 찾아보다가

●    TextBoxSum.Value = F1

에 중단점을 넣고 한번 멈췄다가 가니까 제대로 적용이 되는데
바로바로 적용되게 하려면 어떻게 해야 될까요.

 
[불량 게시물 신고]  
        
  

작성일 : 2018-12-07(10:28)
최종수정일 : 2018-12-07(10:28)