반응형

Range 28

구구단 만들기(3) (엑셀 VBA 프로그래밍 기초)

프로그램을 짜는 것은 논리(로직)만 만들어지면, 그다음은 그것을 해당 언어의 문법에 맞게 구성해 나가면 됩니다. ​ 구구단 어릴 적 많이 외웠던 것인데, 프로그램으로 만들어보면 기초 쌓는데 도움이 될 듯하여 골랐습니다. 만들 모양은 아래와 같습니다. 매크로 기록하기에서는 2단, 3단 등 단수 제목을 복잡해서 뺐는데, 프로그램을 짤 때는 그렇게 어렵지 않아 넣었습니다. [프로그램 로직] ​ ① A1에 '구 구 단'이라고 입력하고, A1에서 W1까지 범위를 '병합하고 가운데 정렬'한 후, 글자크기를 16, 굵게로 설정합니다. ​ ② A3에 '2 단'이라 입력하고, A3에서 E3까지 병합하고 가운데 정렬한 후, 글자를 굵게 합니다. ​ ③ 2단은 A4부터 E12까지 입력하는데, A열은 모두 2이고, B열은 *..

EXCEL - VBA 2022.12.12

For ~ Next 반복문

동일한 작업을 반복해서 실행하는 것이 반복문입니다. For문은 For ~ Next문과 For Each ~ Next문이 있습니다. 먼저 For ~ Next문에 대해 다루고, For Each ~ Next문은 따로 다루도록 하겠습니다. 1. 구문 2. 구문에 대한 설명 counter 필수 요소. 숫자 변수로서 For 루프의 컨트롤 변수. start 필수 요소. counter의 초기 값. end 필수 요소. counter의 최종 값. step 선택 사항. For 루프를 돌 때 매번 변화되는 카운터의 양. 기본값은 1 statements 선택 사항. For와 Next사이에서 지정된 숫자만큼 반복 실행하는 하나이상의 문장 Exit For 선택 사항. For 루프의 밖으로 제어를 이동. Next 필수 요소. For ..

EXCEL - VBA 2022.11.11

엑셀 VBA에서 셀 또는 범위 지정하기(3) - 여러 셀 또는 떨어진 셀

3. 여러 셀 지정하기 가. Range 이용하기 SUM 함수를 이용할 때처럼 Range 안에 셀 주소를 입력하여 범위를 지정할 수 있습니다. 연속된 범위는 :(콜론)을 사용하고 떨어진 범위는 ,(콤마)를 사용합니다. (1) 연속된 범위 지정 개발도구 - Visual Basic 명령을 눌러 Visual Basic Editor를 실행한 다음 모듈을 삽입하고, 오른쪽 코드 창에 아래 코드를 입력합니다. Sub 연속범위지정() Range("a1:a3").Select End Sub 그리고, 삼각형 모양의 아이콘을 누르거나, F5키를 눌러 실행하고, 엑셀 모양 아이콘을 눌러 엑셀로 돌아가 A1셀에서 A3셀까지 선택됩니다. 값을 입력하려면 지정된 범위 = 값 이라고 입력하면 됩니다. Sub 연속범위지정() Range..

EXCEL - VBA 2022.11.03

엑셀 VBA에서 셀 또는 범위 지정하기(1) - Range

엑셀은 셀은 기준으로 작업을 하게 됩니다. A1셀에 24를 입력하거나, B1셀에 A1에 2를 곱한 값을 입력하거나 모두 셀을 기준으로 작업을 하게 됩니다. 1. 준비 사항 새 통합 문서를 연 다음 개발도구 - Visual Basic 명령을 눌러 Visual Basic Editor를 연 다음 삽입 - 모듈 메뉴 또는 삽입 콤보 박스를 누른 다음 모듈을 클릭하여 모듈을 추가하면 그 아래 Module1이 있고, 오른쪽을 보면 빈 코드 창이 열립니다. 오른쪽 코드 창에 sub 범위지정까지 입력하면 그다음 괄호와 End Sub는 자동으로 입력됩니다. 단일 셀 또는 여러 셀을 다루는 방법을 알라보는데, 여러 셀을 연속되거나 연속되지 않을 경우를 나눠서 다뤄보겠습니다. 2. 단일 셀 지정하기 셀을 지정할 때는 Ran..

EXCEL - VBA 2022.10.25

범위 등을 입력받는 Application.InputBox 메소드(2)

1편에서 범위를 다뤘는데, Microsoft 도움말에 있는 예제를 하나 더 알아보겠습니다. 1. 3개 셀 선택 Sub Cbm_Value_Select() 'Set up the variables. Dim rng As Range 'Use the InputBox dialog to set the range for MyFunction, with some simple error handling. Set rng = Application.InputBox("Range:", Type:=8) If rng.Cells.Count 3 Then MsgBox "Length, width and height are needed -" & _ vbLf & "please select three cells!" Exit Sub End If 'Ca..

EXCEL - VBA 2022.10.21

범위 등을 입력받는 Application.InputBox 메소드(1)

아래 글에서 정해진 범위를 복사해서 정해진 영역에 붙여 넣는 매크로를 다뤄봤는데, https://lsw3210.tistory.com/m/163 아래와 같이 A1셀부터 A5셀까지 데이터가 있는데, B1셀에 붙여 넣으려면 위 글에 의한 방식으로 하면 Range("A1:A5").Copy Destination:=Range("B1")이라고 모듈 1에 작성하면 됩니다. 모듈을 작성하려면 개발도구 - Visual Basic 명령을 누른 다음 Visual Basic Editor에서 삽입 - 모듈 메뉴를 눌러 모듈을 추가한 다음 코드 창에 아래와 같이 입력하고 Sub 복붙1() Range("A1:A5").Copy Destination:=Range("B1") End Sub 복붙1이라는 sub 프로시저 안에 커서를 넣은 다..

EXCEL - VBA 2022.10.20

매크로 기록으로 엑셀 VBA의 내부를 보다

엑셀 VBA는 엑셀을 위한 Visual Basic이므로, 기본적으로는 Visual Basic으로 되어 있어 문법이 쉬운 편이지만, 엑셀에 특화되어 있기 때문에 엑셀의 특성을 잘 알아야 합니다. 엑셀은 셀을 기반으로 계산을 하고, 복사하고 붙여넣기, 차트 만들기 등 다양한 작업을 합니다. 복사하고 붙여 넣기를 매크로 기록으로 알아보고 매크로를 개선하는 방법을 알아보겠습니다. 1. 매크로 기록 A1셀의 값을 B1셀에 붙여 넣어 보겠습니다. 개발도구 - 매크로 기록을 누릅니다. 그러면 아래와 같이 매크로 이름 매크로1, 매크로 저장 위치가 현재 통합 문서로 지정되어 있는데, 바로 확인 버튼을 눌러도 되고, 바로 가기 키를 지정하거나 매크로 저장 위치를 개인용 매크로 통합 문서로 변경하거나 설명에 내용을 추가할..

EXCEL - VBA 2022.10.17

윗셀과 같은 값 지우기(1) - for 문

데이터베이스를 만들게 되면 필드를 기준으로 데이터를 입력하므로, 같은 데이터가 두번이상 표시되게 됩니다. 아래 데이터를 보면 대구광역시와 부천시만 한번씩이고, 나머지는 2번이상 표시되고 있습니다. ​ 이와 같은 경우에 중복되는 값을 지우게 되면 보기 더 편하게 됩니다. ​ 1. 중복값 지우기 매크로 1 ​ 가. 모듈 추가 ​ 시명칭이 윗 셀과 동일하다면 맨 윗 것만 남겨두고, 나머지는 빈 셀로 표시하는 것입니다. 이런 것은 VBA로 처리할 수밖에 없습니다. ​ 개발도구 - Visual Basic으로 들어간 다음 ​ 윗셀과같은셀지우기.xlsx 파일이 선택된 상태에서, 삽입 - 모듈을 클릭하거나 ​ 사용자정의폼 등 콤보상자 버튼을 누른 후 모듈을 클릭해서 ​ 윗셀과같은셀지우기.xlsx 파일에 모듈을 추가합니..

EXCEL - VBA 2020.07.09
반응형