반응형

Excel VBA 기초 21

Excel VBA - For, Next

For, Next 사용하기 For, Next 문은 정해놓은 횟수동안 동일한 작업을 반복하는 것이다. For와 Next는 세트로 사용한다. Sub Button_Click() Dim i as Integer For i = 1 To 10 Range("A" & i) = i + 1 Next i End Sub 위 코드는 i를 1에서 1까지 1씩 증가시키는 동안 A 컬럼의 i 번째 셀에 i + 1 을 계산해서 출력하라는 것이다. 실행하면 다음 결과를 얻게 된다. 위에서 Range("A" & i) 대신 Cells(i, 1) 을 써도 같은 결과를 얻게 된다. For, Next 문 안에 For, Next 문이 들어갈 수도 있다. 2가지 변수의 조건을 변경하면서 반복 계산하게 된다. Sub Button_Click() Dim ..

Excel VBA 기초 2023.12.02

Excel VBA - VBA Editor 살펴보기 (2)

VBA Editor 메뉴 구성 재설정 버튼 우선 VBA 실행 시 에러가 나면 ('1004' 런타임 오류가 발생하였습니다.... 어쩌고...) 에러창을 끈 후에도 아무것도 실행이 되지 않는다. 그럴 때 버튼을 눌러야 하는데 이렇게 하면 VBA를 재설정할 수 있다. 이제 코드를 편집한 후 다시 실행하면 된다. 편집 위치 VBA 코드 편집할 때 커서가 있는 위치를 표시한다. 평소에 이걸 확인할 일은 거의 없긴 한데 나중에 복잡한 코드를 작성할 때, 행 수가 크면 내가 이만한 수준의 코드를 작성했구나... 하는 뿌듯함을 느낄 수 있다. VBAProject 속성 다른 사람이 작성한 Excel 파일의 코드를 보려고 하면 암호를 입력하라는 창이 나올 때가 있다. 암호는 다음 메뉴에서 설정할 수 있다. 읽기 전용으로 ..

Excel VBA 기초 2023.11.30

Excel VBA - 변수 (2)

변수 선언 변수를 선언할 때 주의해야 할 것은 변수를 각각 따로 선언해야 한다는 것이다. 예를 들어 다음과 같이 3개의 변수를 한꺼번에 Long으로 선언하면 Dim x, y, z As Long z 만 Long으로 선언하고, 나머지는 Long이 아닌 Variant로 선언하게 된다. 제대로 하려면 Dim x As Long, y As Long, z As Long 또는 Dim x As Long Dim y As Long Dim z As Long 이렇게 선언해야 된다. 참고로 dim x as long 으로 입력해도 자동으로 Dim x As Long 으로 바뀌게 되니 편하게 소문자로 입력하자. 변수의 다른 표시 방법 몇가지 변수 형식은 다른 방법으로 표시할 수 있는데 Integer는 % Long은 & Single은 ..

Excel VBA 기초 2023.11.30

Excel VBA - 변수 (1)

변수(Variable) VBA에서 변수를 선언하면 이 변수를 범위에서 사용할지를 설정하고 변수가 사용할 수 있는 값의 범위도 설정할 수 있다. 우선 변수 사용 범위에 대해 알아보면 지역변수 (Dim) 변수 사용범위는 프로시저(Procedure) 수준으로 선언된 프로시저에서만 사용 가능하고 실행할 때마다 재생성되므로 초기값이 0이나 공백, Null이 된다. 모듈변수 (Dim or Private) 변수 사용범위는 모듈(Module) 수준으로 선언한 해당 모듈에서만 사용 가능하고 프로그램이 종료될 때까지 값을 유지한다. 전역변수 (Public) 변수 사용범위는 프로젝트(Project) 수준으로 프로젝트의 어디에서나 사용 가능하고 프로그램이 종료될 때까지 값을 유지하며 모듈 개체에서만 선언할 수 있고 폼이나 시..

Excel VBA 기초 2023.11.30

Excel VBA - Cell 값을 다른 Cell에 복사하기

Cell 값을 다른 Cell에 복사하기 VBA 코드를 작성하다보면 특정 Cell에 있는 값을 다른 Cell에 복사해야 하는 경우가 종종 있다. 가장 간단한 예로 하나의 Cell에 있는 값을 다른 Cell에 옮겨보자. A1 Cell에 문자가 있는 상황에서 (숫자가 있어도 된다) Sub Button_Click() [C2] = [A1] End Sub 위 코드를 실행하면 다음과 같이 C2 Cell에 A1 Cell의 내용이 복사된다. 하나의 Cell이 아닌 범위를 복사해보자. 다음과 같이 A1~A3에 숫자가 입력된 상황에서 Sub Button_Click() [C2:C4] = [A1:A3] End Sub 위 코드를 실행하면 C2~C4 에 A1~A3의 숫자가 복사될 것으로 예상하겠지만 아무 일도 일어나지 않는다. 다..

Excel VBA 기초 2023.11.26

Excel VBA - Columns, Rows

Columns Range와 비슷한 용도로 사용할 수 있는데 열을 한꺼번에 지정할 때는 Columns를 사용하면 된다. Sub Button_Click() Columns(1) = 1 End Sub Columns(1) 에서 1은 1번째 열 즉, A 열을 의미한다. 위 코드는 A 열을 1로 채우라는 거다. Range("A:A") = 1 과 같다. 실행 결과 A1부터 A1048576까지 1로 가득 채워졌다. Columns 뒤 괄호 안의 숫자를 바꿔보자. Sub Button_Click() Columns(3) = 7 End Sub Columns(3) 에서 3은 3번째 열 즉, C 열을 의미한다. 위 코드는 C열을 7로 채우라는 거다. 실행 결과 C1부터 C1048576까지 7로 가득 채워졌다. 다음과 같이 숫자 대신..

Excel VBA 기초 2023.11.24

Excel VBA - 다중 Cell 범위 지정하기

Range 다중 Cell 범위를 지정하는 방법은 단일 Cell을 지정하는 것과 비슷하다. Range를 이용해서 단일 Cell을 지정할 때는 Range("A1") 처럼 " " 안에 하나의 Cell 주소를 입력하면 되었는데 다중 Cell 범위를 지정할 때는 Range("A1:B3") 처럼 " " 안에 처음 Cell과 마지막 Cell의 주소를 입력하고 중간에 : (colon)을 넣어야 한다. 범위는 왼쪽 위와 오른쪽 아래 끝 Cell의 주소다. 다음과 같이 코드를 입력한 후 실행버튼을 클릭하면 Sub Botton_Click() Range("A1:B3") = 5 End Sub A1에서 B3까지 범위에 숫자 5가 입력된다. 다음과 같이 Range("Cell 주소", "Cell 주소") 로 입력해도 된다. " " ..

Excel VBA 기초 2023.11.19

Excel VBA - 단일 Cell 지정하기

Range Excel Sheet의 특정 Cell 주소를 지정하는 방법으로 Range 가 있다. 다음 그림에 있는 코드를 넣어보자 Sub Button_Click() Range("A1") = 1 Range("B2") = 1 End Sub 위에 입력한 코드는 A1 Cell에 1을 입력하고 B2 Cell에 2를 입력하라는 것이다 참고로 Cell 주소는 A1 대신 a1, B2 대신 b2 처럼 소문자로 써도 아무 문제 없다. 실행버튼을 클릭하면 다음과 같이 A1, B2 Cell에 숫자가 입력된다. 숫자를 입력하려면 Range("Cell 주소") = 숫자 를 사용하면 되지만 문자를 입력하려면 Range("Cell 주소") = "문자" 즉, " " 를 써야 한다. Sub Button_Click() Range("A1")..

Excel VBA 기초 2023.11.19

Excel VBA - 실행버튼 만들기

실행버튼 VBA 코드 실행버튼을 만들면 원할 때 코드를 실행할 수 있다. 실행버튼은 그림이나 사진으로 만들 수 있지만 도형으로 만들면 깔끔해서 좋다. [삽입] 탭 - [일러스트레이션] 그룹 - [도형] 에서 직사각형을 선택하여 삽입한다. (다른 모양의 도형을 선택해도 된다.) 도형 삽입 시 Alt 키를 누른 상태에서 마우스를 끌면 셀 경계선에 맞춰서 크기를 조절할 수 있어서 편리하다. 삽입한 도형을 마우스 우클릭하면 [텍스트 편집]을 할 수 있다. [도형 서식] 탭 - [도형 스타일] 그룹에서 삽입한 도형의 색을 편집할 수 있다. Excel의 수식 창 왼쪽에 [이름 상자] 가 있다. 도형을 선택한 후 이름을 바꿔보자. "Button" 이라고 바꿨다. (다른 이름으로 바꿔도 된다.) [개발도구] 탭 - [..

Excel VBA 기초 2023.11.18

Excel VBA - VBA Editor 살펴보기 (1)

VBA Editor VBA Editor는 크게 4가지 창으로 구분할 수 있다. 1. 메뉴 2. 프로젝트 탐색기 3. 속성 창 4. 코드 창 메뉴는 본체인 Excel과 다르게 리본 메뉴가 아닌 옛날 메뉴와 아이콘으로 구성되어 있다. 코드를 1줄씩 실행하거나, 암호를 걸어서 코드를 볼 수 없게 만드는 기능 등을 할 수 있다. 프로젝트 탐색기에는 현재 활성화된 엑셀 파일의 Sheet와 Module 등이 표시되어 있다. 파일이 2개 이상 활성화되어 있으면 각각의 Sheet와 Module 등이 각각 따로 표시된다. 속성 창에는 각 Sheet, Module 등의 속성이 표시되어 있는데 Sheet의 이름을 바꾸거나 숨김 처리하는 등의 선택을 여기서 할 수 있다. 코드 창에서는 Visual Basic 코드를 작성할 수..

Excel VBA 기초 2023.11.18
반응형