본문 바로가기

반응형

진리는어디에/VBA

(19)
[VBA] '고급 필터' 완벽 가이드 들어가며 엑셀에는 특정 범위 대상으로 원하는 조건에 맞는 데이터를 추출할 수 있는 기능을 제공하고 있습니다. 이런 기능을 '필터'라고하며 간단하고 쉽게 적용할 수 있는 '자동 필터'와 복잡하지만 세부적이면서 여러 조건을 지정할 수 있는 '고급 필터'가 있습니다. 이번 포스트에서는 '고급 필터'가 무엇인지, 엑셀에서 고급 필터를 사용하기 위해서는 어떻게 해야하는지 살짝 살펴 본 후, VBA 스크립트를 이용해 고급 필터를 사용하는 법에 대해 중점적으로 알아 보도록하겠습니다. 고급 필터 퀵 가이드 Task Cell formula Examples where true 특정 단어 포함하는 문자열 선택 Pea ="Pea" ="*Pea*" Peach, Pea, Appear 특정 단어 포함 하지 않는 문자열 선택 ="*..
[VBA] 배열 완벽 가이드 이 포스트는 Excel Macro Mastery 사이트의 'Excel VBA Array – The Complete Guide(by Paul Kelly)'의 내용을 다시 정리한 것입니다. 이번 포스트에서는 엑셀 VBA의 배열(array)에 대해 다룹니다. 들어가며 본 포스트는 Excel VBA 프로그래밍의 아주 중용한 부분인 '배열(Array)'에 대해 자세히 설명 합니다. 먼저 배열이 정확히 무엇인지, 왜 필요한지 부터 살펴 보고 VBA에서 배열을 사용하기 위해 알아야 할 지식들에 대해 설명합니다. 본 포스트는 VBA를 사용하기 위해 기본적인 VBA 프로젝트 정도는 띄울 수 있는 것을 가정하고 작성 되었습니다. 만일 제가 지금 무슨 말을하고 있는지 이해가 가지 않으신 분이라면 [여기]에서 VBA의 기본적..
[VBA] csv 임포트 지난 포스트에서는 엑셀의 워크시트들을 각각의 csv 파일로 내보내는 방법에 대해 살펴 보았습니다. [여기] 이번 포스트에서는 csv파일을 엑셀의 워크시트로 읽어오는(import) VBA 스크립트를 살펴 보도록 하겠습니다. VBA 스크립트 - import csv Alt + F11로 VBAProject 창을 띄웁니다. '모듈 > 삽입 > 모듈' 을 선택해 프로젝트에 모듈을 추가 합니다 모듈의 이름을 'Import'로 변경합니다. 원하신다면 다른 이름으로 해도 상관 없습니다. ※ 이름을 변경하기 위해 F2를 눌러도 아무런 소용이 없습니다. 추가 하신 모듈을 선택 하고 속성창에서 직접 변경 해줘야 합니다. 아래 코드를 복사해서 붙여 넣습니다. Sub OpenDialog() Dim fd As FileDialog ..
[VBA] Range와 Cell 완벽 가이드 이 포스트는 Excel Macro Mastery 사이트의 'The Complete Guide to Range and Cells in Excel VBA(by Paul Kelly)'의 내용을 다시 정리한 것입니다. 이번 포스트에서는 엑셀 VBA의 Range와 Cell에 대해 다룹니다. Range & Cell 사용법 요약 함수 파라메터 리턴 타입 예 결과 Range cell 주소 멀티 셀 Range("A1:A4") $A$1:$A$4 Cells 행(row) 번호, 열(column) 번호 단일 셀 Cells(1, 5) $E$1 Offset 행(row) 번호, 열(column) 번호 멀티 셀 Range("A1:A2").Offset(1, 2) $C$2:$C$3 Rows 행(row) 번호 또는 행(row) 범위 단일 ..
[VBA] Worksheet 완벽 가이드 주말이 참 빨리 흘러 갑니다. 잠깐 책 좀 폈다, 잠깐 읽었다 싶으면 하루가 날아가네요. 오늘은 이전 포스트 '[Excel] VBA - Workbook 완벽 가이드'에 이번에는 VBA 스크립트의 Worksheet에 대해 공부 해보려고 합니다. 원문은 Excel Macro Mastery 사이트의 The Complete Guide To The VBA Worksheet(by Paul Kelly)입니다. 혹시 제가 제대로 이해하지 못하고 헛소리 하는 부분이 있다면 알려주시면 감사하겠습니다. VBA Worksheet 사용법 요약 NOTE - 아래 간략 예제에서는 코드의 간략성을 위해 워크북(Workbook)을 명시하지 않았습니다. 여러분이 실제 코드에서 사용하실 때는 ThisWorkbook.Worksheets, ..
[VBA] 디버깅(Debugging) 프로그램을 개발하다 보면 언제나 생각 처럼 동작해주지 않습니다. 왜 프로그램이 내가 원하는대로 동작하지 않는지 알아 보기 위해서는 디버깅이 필수적이지요. VBA를 이용해 아무리 간단한 매크로를 만들 때도 디버깅에 관해서는 예외가 없습니다. 이번 포스트는 VBA 디버깅에 관한 이야기를 해보도록 하겠습니다. Debug.Print 전통적으로 가장 접근하기 쉬운 디버깅 방법은 내가 원하는 내용을 출력해보는 것입니다. VBA에서도 내가 궁금한 내용을 출력 해볼 수 있는 Debug.Print 라는 간단한 방법을 제공하고 있습니다. 아래는 워크북 개체의 프로퍼티들을 출력하는 간단한 샘플 코드입니다. 아래의 예제를 위해 'Example.xlsm' 이라는 엑셀 문서가 미리 만들어져 있다고 가정하겠습니다. Public S..
[VBA] Workbook 완벽 가이드 처음엔 굼뜨고 보잘것 없는 프로그래밍 언어라고 생각했는데 적당한 중소형 규모 데이터를 처리하는데 이 보다 좋은 툴이 없습니다. 데이터 시트와 그걸 다루기 위한 유용한 함수들을 제공해주고, 함수를 지원하지 못한다면 직접 만들어 사용 할 수 있도록 스크립트도 지원합니다. 유저 컨트롤을 마음대로 붙여 넣을 수 있으며, 데이터 프로세싱 로직도 마음대로 추가 할 수 있습니다. 세상에 적당한(?) 규모의 데이터를 처리하기에는 이보다 더 좋은 도구를 찾지 못하겠습니다. 역시 오랜 기간 사람들에게 사랑 받아 온 제품은 다 이유가 있구나라는 생각이 드네요. 그래서 조금 더 알아 보고 싶어 지네요..❤ 아래 내용들은 Excel Macro Mastery의 The Complete Guide To The VBA Workbook..
[VBA] Visual Basic for Application 본 문서는 프로그래밍을 20여년 해온 본인이 VBA(Visual Basic for Application) 스크립트를 처음 사용해보면서 알게된 기본적인 내용들을 기록하기 위해 작성 되었습니다. 변수는 무엇인지 또 클래스는 무엇인지 등의 기본 개념들에 대해서는 언급하지 않고 변수를 선하고 사용하는법, 클래스를 만드는 법 등의 '사용법'을 위주로 다룹니다. 물론 프로그래밍에 대해 아무것도 모르고 엑셀을 사용하면서 '매크로'라는 기능을 사용해보고 싶은 사람도 이 포스트를 보고 공부를 할 수는 있지만 근본적인 궁금증은 해결하기 어려울 것입니다. 하지만 아직 뭐가 궁금한지도 모르는 사람이라면 이 포스트가 하나의 시작점이 될 수 있을 것이라 생각합니다. 시작 비주얼베이직 프로젝트 창 띄우기 VBA를 사용하는데 사실 ..
[VBA] CSV 저장(export) 서문 제가 개발하고 있는 게임에서는 게임 내 메타 데이터(아이템, 퀘스트, 이벤트 관련 데이터 등등)를 csv를 이용하고 있습니다. 엑셀에서 강력한 함수들을 이용해 아이템의 레벨이라던지 경험치 배분을 관리하고 완료 되면 최종 단계에서 csv로 export하여 인게임에서 가져다 씁니다. 그런데 매번 데이터 변경이 있을 때 마다 각 시트를 export하기 너무 귀찮습니다. 관리하는 시트가 한 두개였을 때는 문제가 없었지만 많아지니 답도 없습니다. 그리고 시트가 많아지니 내가 무슨 시트를 수정했는지 기억도 안납니다. 그래서 생각한 것이 단축키 한번에 모든 시트들을 'csv'로 export 해줄수 있으면 좋겠다. 인터넷에서 csv로 export 해준다는 vba 소스를 찾아 복붙한 후 실행 시켰습니다. 그런데 이..

반응형