엑셀 vba 기초 데이터 입력하기

이번 시간에는 엑셀 vba 기초 데이터 입력하는 방법에 대해서 알아보도록하겠습니다. 폼을 만들어 사용하는 것도 좋겠지만 그냥 엑셀 셀을 이용하여 작업하는 것이 훨씬 빠르더라고요.


그래서 이번 시간에는 1번 시트에서 명령어 단추를 클릭하면 2번 시트에 데이터가 자동으로 입력되는 그런 자동화 프로그램을 vba로 작성해 보도록 하겠습니다.


엑셀 vba 기초 데이터 입력하기


엑셀 화면 구성하기

시트 2개를 구성하는데요 먼저 데이터를 입력하는 시트 "사원입력" 시트와 "사원DB" 시트 2개를 만들어 놓습니다.



"사원입력" 시트에서 데이터를 입력하고 버튼을 클릭하면 아래 "사원DB" 시트에 B4셀부터 차례대로 데이터가 들어가도록 만드는 것입니다.



그래거 가장 먼저 해야할 것은 "사원DB" 시트에 B4셀에 데이터가 나오도록 만드는 일인데요. 그러기 위해서 데이터가 들어있는 셀의 수를 알아야 합니다.


"사원DB" 시트에서 I1셀에 =COUNTA(B1:B219)+3 이라고 입력해 줍니다. 그러면 데이터가 있는 값 1에 3을 더하여 4가 나옵니다. 4를 기준으로 행의 입력 기준이 됩니다. 여기서 COUNTA의 번위를 219까지 잡아 주었는데 범위는 알맞은 선에서 잡아 주시면 됩니다.



이번에는 사원입력 시트로 돌아와 메뉴에 있는 [개발도구]-[삽입]-[단추] 아이콘을 클릭하여 단추를 알맞게 그려 배치를 해줍니다.



단추를 클릭한 상태에서 오른쪽 마우스를 클릭하면 [매크로 지정] 메뉴를 클릭합니다.



단추1_click을 선택하고 [편집]을 클릭합니다.



VBA 코드 입력하기

편집기 창에서 코드를 입력해 주면 되는데요 아래에 코드를 쉽게 이해할 수 있도록 설명을 하겠습니다. 우리가 셀을표현할 때 보통 (열, 행) 즉 A1셀 이런식으로 표현하지만 여기서는 (행, 열)로 셀을 표시합니다.


즉 B4셀은 (4,2)로 표현 되는 것입니다. 행이 먼저 오고 뒤에 열이 오는 것입니다.


우선 간순하게 작성해 보았는데요. 뭔가 많은 것 같지만 사실 아주 간단합니다. 풀어서 확인해 보겠습니다.



 a 변수를 하나 만들었는데요. 이 변수에는 사원DB에서 카운타로 만들어 놓은 수가 들어가게 됩니다. 초기 숫자가 4가 a 변수안에 들어가게 되는 것입니다.


그리고 두번째 부터는 숫자만 변경 되어 있는 것을 볼 수 있는데요. 결국에는 사원시트에 있는 C4셀의 데이터를 사원DB시트 B4셀에 넣으라는 코드입니다.


그런데 위에 처럼 단순하게 만들어서 사용할 수도 있지만 좀 더 간단하게도 만들 수 있는데요 for 문을 사용하여 간단하게 만들 수 있습니다.


변수 b를 만들어서 울정하게 변하는 행의 값과 열의 값을 대신해 주면 간단하게 3줄로 줄일 수 있습니다.


프로그램 실행

이제 [사원입력] 시트에 데이터를 넣고 명령 단추를 클릭해 보겠습니다. 


[사원DB] 시트에 와서 데이터가 정말 제대로 입력되어 있는지 확인해 보겠습니다. 4행에 아까 입력한 데이터가 입력되어 있는 것을 확인해 볼 수 있습니다. 그리고 왼쪽에 COUNTA 값도 4에서 5로 변경되어 있는 것을 볼 수 있습니다.


이제 다시 입력하게 되면 5행부터 데이터가 입력되게 되는 것입니다. 계속해서 데이터를 추가시키면 아래로 계속해서 입력되어 나갈 것입니다.


엑셀에서 vba 기능을 많이 활용하면 좋겠지만 적어도 데이터를 입력하고 찾고 출력하는 것만 알아도 웬만한 것들은 만들 수 있을 것 같다는 생각이 듭니다. 다음 시간에는 입력된 자료를 찾는 방법을 알아보도록 하겠습니다.

댓글(2)

  • raul
    2018.02.27 21:47

    안녕하세요 똑같이 따라서 해보는데 왜 런타임 오류9이 나면서 첨자가 잘못되었다고 나올까요

  • ㅠㅜ
    2018.04.06 14:09

    관리자의 승인을 기다리고 있는 댓글입니다

Designed by JB FACTORY