목록VBA Excel (14)
매일 채워가는 꽃바구니
Basic 이라는 프로그래밍 언어를 아는 이들이 많을 것이라고 생각한다. (혹은 한 번쯤은 들어봤으리라 생각한다.) Visual Basic은 그러한 Basic을 보다 '사용자에게 친숙하게' 만들어진 언어이다. 하지만 VB와 VBA가 같은 개념은 아니다. Visual Basic의 구문들을 이용해서 응용프로그램(Application)을 조작하기 때문에 어렵게 느껴질 것이다. 현재 필자는 2003과 2007버전의 Ms-Office를 사용하고 있다. 익숙한게 2003버전이지만 언제까지 구 버전을 애용하고 있을 순 없다는 생각에 필자 또한 2007로 전향을 하도록 하였다. (그에 따라 알던 메뉴도 못찾는 꼴이 발생하긴하지만...) 이제부터 말하는 엑셀은 2007버전의 엑셀임을 강조한다. 먼저 실행되는 엑셀 창에서..
엑셀을 포함한 MS-Office 계열 프로그램들은 모두 VBA를 포함하고 있다. 현재 엑셀에 대해서 많이 알고 활용하고 있다고 자부하는 사람도, 이 VBA를 경험하게 된다면 3할~4할 정도의 기능만을 사용했다고 느낄 것이다. (단연 그렇게 자부한다. 필자가 그랬으니..) VBA Excel (이하 VBAE)를 접하게 된것은 지식IN 답변 생활을 하고 있던 필자에게 감동을 주는 몇 유저를 발견하면서 부터였다. ks_1862(큰형)님의 일반적인 답변과 VBA답변, 그리고 기타 영웅급의 유저분들의 현란한 VBA를 본 순간 필자의 얕은 지식에 탄식했다. 필자와 같은 마음을 가지고 있는 사람들은 적지 않으리라 생각한다. 이에 VBAE에 대해 차근차근 풀어나가는 블로깅을 시작하려한다. 바로 이어진다.
지식IN질문 예를 들어서 J1을 클릭시 A1셀 색이 노란색으로 바뀌고 클릭을 해제하면 원래 색으로 돌아오는 방법이 있으면 고수님들 답변 부탁드립니다. 수치를 입력하는 데 한 번씩 다른 곳에 입력을 하게되어서 도움을 요청하게 되었습니다. 하나의 셀 클릭시 하나만 색 변하는 것입니다. 예를 들어서... J1클릭시 A1셀 J2클릭시 A2셀 J3클릭시 A3셀 이런식으로 변하는 것입니다. ks_1862 ("큰형"님) 의 답변 안녕하세요? 도움이 되실런지는 모르겠습니다만, 혹시 VBA(매크로) 등에 관심이 있으시면 아래의 첨부파일을 참고해 보시기 바랍니다. 첨부파일: http://blog.naver.com/ks_1862/50056243309 Private Sub Worksheet_SelectionChange(ByV..
Sub macro() Range("S2:AB10000").ClearContents Er = Cells(65536, 3).End(xlUp).Row For i = 2 To Er c = 19 For j = 3 To 17 If Cells(i, j).Interior.ColorIndex = 53 Then Cells(i, c) = Cells(Er, j) c = c + 1 End If Next Next End Sub * 설 명 * Sub macro() ↘ 매크로 시작을 알립니다. Range("S2:AB10000").ClearContents ↘ S2부터 AB10000 (큰범위를 잡아서) 내용을 모두 지웁니다. Er = Cells(65536, 3).End(xlUp).Row ↘ 데이터가 몇 줄까지 있을지 모르니 C열의 제일..