반응형

Dim 9

VBA로 ColorIndex에 대한 색 표시하기

VBA는 Visual Basic for Application의 약자로, 엑셀, 워드, 파워포인트 등 응용프로그램을 위한 비주얼 베이직이란 의미로, 비주얼 베이직을 이용해서 응용프로그램을 쉽고, 빠르게 사용하는 것입니다. 개발 도구 탭에서 Visual Basic을 누르고, 비주얼 베이직 에디터에서 삽입 - 모듈을 눌러 Module1을 삽입을 누르면 아래와 같이 왼쪽 통합 문서에 Module1이 추가되고, 오른쪽에는 빈 코드 창이 열립니다. 이때 코드 창에 아래 코드를 복사해서 붙여 넣고, Sub 색표시() Dim i As Integer For i = 1 To 128 Range("a" & i) = i Range("b" & i).Interior.ColorIndex = i Next End Sub F5키 또는 세..

EXCEL - VBA 2024.04.12

한글이 아닌 엑셀로 하는 메일 머지(2)

다. 연결키를 가져오는 매크로 작성(1) 매크로 작성 명단 시트에 만들어둔 연결키 중 B열의 번호를 하나씩 고지서 시트의 L6셀에 넘겨주면 됩니다. 코드를 작성하기 위해 개발 도구 - Visual Basic을 클릭합니다. 만약 개발 도구 탭이 보이지 않는다면 파일 - 옵션 - 리본 사용자 지정에서 개발 도구 탭에 체크하고 확인 버튼을 눌러야 합니다. => https://lsw3210.tistory.com/142#google_vignette 그리고, 삽입 - 모듈을 클릭해서 Module1을 만든 다음 오른쪽 에디터 창에 아래 내용을 복사해서 붙여 넣습니다.Sub 고지서개별인쇄() Dim sht1 As Worksheet, sht2 As Worksheet Dim i As Integer, endRow As In..

EXCEL - VBA 2024.03.28

좌표를 이용해 엑셀에 도면 위치 표시하기(2)

3. 여러 개의 좌표를 도면에 일괄 표시하기 이번에는 엑셀에 아래와 같이 가상의 좌표를 표시하고, (참고 사항) - 도면의 위치는 1000단위로 간격을 두었으며, 숫자는 #, 표시형식을 사용해서 천단위 위만 표시되도록 했습니다. 예를 들어 첫번째 N의 좌표는 723,000입니다. - 도면의 좌표는 왼쪽에서 오른쪽, 위쪽에서 아래로 내림차순으로 표시되어 있습니다. 그 안에 아래의 좌표에 해당하는 도면의 위치를 표시해보겠습니다. 가. 작성 방법 ① 왼쪽과, 위쪽, 너비와 높이가 필요한데, 좌표가 정확히 구간과 일치하는 것이 아니므로 좌표보다 큰 값의 위치에 표시하도록 하겠습니다. ② 도면 색은 ColorScheme를 사용하는데, 1은 흰색이므로 제외하고 일련번호를 이용해 표시하겠습니다. 나. 코드 Dim i..

EXCEL - VBA 2023.11.15

좌표를 이용해 엑셀에 도면 위치 표시하기(1)

위와 같이 도면별 위, 경도(통상적인 위, 경도와 다르지만 그렇게 표시합니다)가 있을 때 도면에 표시하는 방법을 알아보고자 합니다. 1. 셀의 위치 알아내기 먼저 위치와 관련한 셀의 속성을 알아야 합니다. 셀은 왼쪽 위를 기준으로 열 너비와 행 높이를 가지고 있습니다. 가. 셀의 왼쪽, 위 구하기 ① 셀의 왼쪽 위치 구하기 개발도구 - Visual Basic을 실행하고, 삽입 - 모듈 메뉴를 누르면 모듈과 Module1이 추가됩니다. 오른쪽 편집기 창에 sub cellinfo라고 입력하고 엔터 키를 누릅니다. 그리고, 왼쪽 위치는 셀 주소를 쓴 후 .left라고 하면 됩니다. 다시 말해 range("a1").left 인데 화면에서 확인해야 하므로 debug.print를 앞에 추가하면 됩니다. debug...

EXCEL - VBA 2023.11.13

매크로 - 범위로 처리하기

그동안은 매크로 작성 시 범위로 처리하는 것만 알고 있었는데, 최근에 유튜브를 보니 셀마다 처리하는 것이 아니라 배열에서 처리한 후 한꺼번에 범위에 일괄로 데이터를 입력하는 것이 훨씬 빠르다는 내용을 보고 충격을 받아 정리하고자 합니다. 먼저 범위로 처리하는 방법을 알아보겠습니다. A열에 2를 곱한 값을 B열에 넣는다고 할 때 범위로 처리하는 것은 아래와 같습니다. 1. 코드 작성 및 실행 먼저 개발 도구 - Visual Basic을 누르고, 삽입 - 모듈을 클릭해서 모듈을 추가합니다. 그리고, 코드 창에 아래 내용을 복사해서 붙여 넣습니다. Option Explicit Sub 곱하기() Dim rng As Range, c As Range Set rng = Range(Range("a1"), Range("..

EXCEL - VBA 2023.09.03

두 문장의 같은 단어 비교(3) - 여러 줄 반복

2편까지는 2줄만 비교했는데, 여러 줄의 문장을 반복적으로 비교하는 것을 구현해 보겠습니다. 다시 말해 한 문장을 다른 문장들을 돌아가면서 2줄씩 비교해서 같은 단어가 있으면 빨간색으로 표시하는 것입니다. 1. 기존 매크로와 달라진 점 기존에는 A1셀과 A2셀만을 비교했는데, 변경된 것은 행을 이동하면서 2줄씩 비교합니다. 달라진 점은 아래와 같습니다. 기존 매크로 변경 매크로 Sub compare_setence() (변수 선언 1) 문장을 공백 한 칸 기준으로 분리해서 배열에 넣은 후 반복하기 위한 counter만 선언 i As Integer, j As Integer Sub compare_setence() (변수 선언 1) 줄 별로 비교하기 위해 줄 별 이동을 위한 counter 추가 K As Inte..

EXCEL - VBA 2023.05.10

엑셀 VBA - 배열(2)

5. ReDim 가. 정의 ReDim을 배열의 크기를 재설정하는 것입니다. 처음에는 배열의 크기를 모르거나 배열의 크기가 유동적으로 변하는 경우 사용합니다. 나. ReDim 문 데이터는 아래와 같이 작성했습니다. Dim intNum(3) As Integer라고 이미 배열의 크기를 선언한 상태에서 ReDim intNum(5)라고 하면 아래와 같이 에러가 발생합니다. 따라서, 배열의 크기는 지정하지 않고, Dim intNum() as integer라고 한 다음 ReDim intNum(5)라고 해야 에러가 발생하지 않습니다. 그다음부터는 ReDim intNum(6)이라고 해도 에러가 발생하지 않습니다. Option Explicit Option Base 1 Sub 변수선언() Dim i As Integer Di..

EXCEL - VBA 2022.12.07

For Each ~ Next

1. 정의 배열(Array) 또는 컬렉션(Collection, 오브젝트 모음)의 요소마다 실행문을 반복합니다. Object(객체)에는 Range, Workbook, Worksheet, Shape 등이 있습니다. 2. 구문 3. 구문에 대한 설명 element 필수, 배열 또는 오브젝트 집합(Collection)의 요소를 반복하기 사용되는 변수 - 배열 : 요소(element)는 Variant 변수여야 함 - 컬렉션 : 요소는 Variant 또는 일반적이거나 특수한 객체여야 함 group 필수. 오브젝트 집합 또는 배열의 이름 statements 선택. 그룹의 각 요소마다 실행되는 하나 이상의 실행문 3. 사용 예제 (예제 1) 일정한 범위를 하나씩 돌아가면서 실행하는 구분을 만들면 아래와 같습니다. Op..

EXCEL - VBA 2022.11.14

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
반응형