본문 바로가기
엑셀/VBA

[엑셀 매크로 VBA] 초등학교 수학문제 생성기- 덧셈, 뺄셈, 곱하기, 나누기

by 공돌이남편 2017. 4. 23.

덧셈, 뺄셈, 곱셈, 나눗셈 문제를 생성하는 엑셀파일을 VBA로 작성해 보았습니다.

 

수학문제 생성기_2016.xlsm

수학문제 생성기_97_2003.xls

 

형이 조카들 수학을 가르치는데 필요하다고 문제 만드는 프로그램을 하나 만들어 달라고해서 VBA를 이용해서 문제를 자동으로 생성하고 답안까지 만들수 있는 엑셀 파일을 만들어봤습니다. 혹시 필요하신 분들은 첨부로 올리니 마음껏 사용하세요.

 

기본적으로 엑셀2016 버전을 기본으로 만들었고, 혹시 몰라 97-2003 호환버전으로 저장한 파일도 첨부를 했습니다. 그리고 매크로를 처음 돌리는 경우 경고 메세지가 뜰수 있는데 그런 경우 경고 메세지를 클릭하시면 실행여부를 묻는 창이 나옵니다. 여기서 실행을 선택하시면 정상적으로 동작할겁니다.

 

VBA코드에 대한 설명은 다음에 하도록하고 우선 오늘은 사용방법을 적도록 하겠습니다.

 

엑셀파일을 열면 5개의 시트가 있는데 그 중 '문제생성' 시트에 VBA를 실행시키는 버튼이 있습니다. '문제 생성' 버튼을 누으면 문제가 생성되고, '답안 생성' 버튼을 누르면 생성된 문제에 답이 달리도록 만들었습니다.

 

추가로 문제를 생성하는 조건을 선택 할 수 있도록 구성했는데 우선 문항수와 자릿수를 조절 할 수 있도록 했고, 뺄셈의 경우는 음수가 생성될 수 있기에 답이 음수를 생성 할 수 있도록 식을 구성할지 여부를 선택 가능하도록 했습니다.

 

그리고 마지막으로 나눗셈의 경우도 소수점이 나오는 답이 나올지 말지도 선택 할 수 있도록 구현했습니다.

 

 

'문제 생성' 버튼을 누르면 문제가 생성되게 되는데 기존에 있던 수식을 모두 삭제하고 새로 생성하니 이점 유의하시기 바랍니다.

 

 

 

생성된 문제들(덧셈, 뺄셈, 곱셈, 나눗셈)은 각각의 시트에 생성되게 됩니다. 통합하는 것보다는 분리된게 보기에 편할거 같아 그렇게 만들었는데 편할지 어떨지 모르겠습니다.

 

 

마지막으로 '답안 생성' 버튼을 누르면 기존에 생성된 문제에 답이 달리게 됩니다. 숫자가 커지면 어렵지는 않지만 답을 구하는데 시간이 걸리기에 답을 생성하는 기능이 있으면 좋을거 같아 구현했습니다.

 

 

 

혹시 사용하시다 개선이 되었으면 하는 기능이나 요청사항이 있으시면 댓글을 달아주세요. 제가 시간이 될때 확인해서 제 능력범위에서 구현이 가능하면 구현하도록 하겠습니다.