반응형

변수 7

두 문장의 같은 단어 비교(2) - 매크로 실행, 디버그

5. 매크로 실행 가. 단추 누르기 (1) '문장 비교' 단추 누르기 '문장 비교' 단추를 누르면 첫 줄에서는 '우리의', '자유와', '국민'이라는 글자가 빨간 색으로 바뀌고, 둘째 줄에서는 '우리의', '자유', '국민으로서,'가 빨간 색으로 바뀝니다. 포함관계를 따지기 때문에 '국민'과 '국민으로서'는 '국민'이 같기 때문에, '자유와'와 '자유'는 '자유'가 같기 때문에 빨간 색이 됐고, '우리의'는 첫째 줄과 둘째 줄이 똑 같아서 빨간 색이 됐습니다. (2) '초기화' 단추 누르기 초기화 버튼을 누르면 빨간 글자가 모두 검은 색 글자로 바뀝니다. 6. 디버깅 가. 중단점 설정 len1 줄 왼쪽 기둥(Side Bar)을 클릭해서 중단점을 설정합니다. 그러면 실행 아이콘(▶)을 눌렀을 때 중단점이 ..

EXCEL - VBA 2023.05.09

두 문장의 같은 단어 비교(1) - 매크로 작성

위와 같이 A1셀과 A2셀의 문장 2개를 비교해서 같은 단어일 경우는 글자 색을 빨간색으로 표시하는 것을 해보겠습니다. 1. 논리 A1셀과 A2셀을 각각 빈칸을 기준으로 문장을 나눈 다음 배열에 넣고, 배열끼리 비교해서 배열이 같을 때, 여기서는 포함될 때를 기준으로 판단하려고 합니다. 다시 말해 '국민'은 '국민의'에 포함되므로 같은 것이 되고, '국민의'와 '국민을'은 포함관계가 아니기 때문에 다른 것이 됩니다. 어간을 기준으로 비교하면 되는데, 그것이 어려워서 조건으로 못 넣었습니다. 2. 매크로 작성 아래와 같이 Sub 프로시저와 Function 프로시저로 구성되어 있습니다. 가. Sub 프로시저 compare_sentence(문장 비교), font_red(일치하는 배열의 글자색을 빨간색으로 변함..

EXCEL - VBA 2023.05.08

Let 함수 - 변수에 값 할당 및 수식 계산

1. 정의변수에 값을 할당하고, 변수를 이용해 계산식을 정의하고 그 결괏값을 반환하는 함수입니다. 그러나 적용 범위는 Lambda 함수와는 달리 해당 수식에만 적용되는 한계가 있습니다. 적용 가능한 엑셀 버전 : Microsoft 365용 Excel, Microsoft 365용 Excel(Mac용), 웹용 Excel, Excel 2021, Mac용 Excel 2021 2. 구문=LET(name1, name_value1, calculation_or_name2, [name_value2, calculation_or_name3...]) name1(이름1)에 name_value1(값1)을 할당하고, 이런 식으로 여러 개의 이름과 값의 쌍을 지정할 수 있으며, 마지막에는 이들 이름을 이용한 수식이 와야 합니다. 3..

Excel 2023.03.22

구구단 만들기(6) (엑셀 VBA 디버깅 2)

나. 조사식 추가 ① 지역 창에서도 변수의 변화 상태를 알 수 있지만, 아래와 같이 원하는 변수에 커서를 넣고 마우스 오른쪽 버튼을 누르거나, 디버그 - 조사식 추가 메뉴를 누르면 ② 아래와 같이 단순히 변수의 변동 상태뿐만 아니라, '값이 True일 때 중단' 또는 '값이 변경될 때 중단'이란 옵션이 있습니다. 변수에 커서를 넣지 않고 조사식 추가를 누른 경우는 직접 변수를 입력해도 됩니다. ③ '값이 True일 때 중단'이란 옵션을 선택하려면 먼저 윗부분의 '식'이란 부분에 i=3 식으로 조건 식을 먼저 입력해야 하며, 입력 후 확인 버튼을 클릭합니다. ④ 그러면 화면 오른쪽 아랫부분에 조사식 창이 추가되면서 i=3 이란 수식이 추가됩니다. 지역 창에 보이는 i와 다릅니다. ⑤ 이제 실행 버튼을 눌러..

EXCEL - VBA 2022.12.15

구구단 만들기(5) (엑셀 VBA 디버깅 1)

완성된 버전만 보니 프로그램이 에러가 발생하지 않은 듯 하지만 처음에는 2단 자리에 계속 9단까지 써지고, 9단까지뿐만 아니라 200단까지 확장하면서 변수가 어떻게 변하는지 체크도 해보면서 작업을 했습니다. 프로그램 과정에서 일어났거나 일어날만한 내용에 대해 정리해 보겠습니다. 1. '변수 미 정의' 오류 개발도구 - Visual Basic - 도구 - 옵션에서 '변수 선언 요구'에 체크를 하면 Module 맨 윗부분에 'Option Explicit'란 구문이 추가되므로, 변수를 선언하지 않으면 에러가 납니다. 물론 여기에 체크를 하지 않으면 변수를 선언하지 않더라도 에러 메시지가 나지 않기 때문에 불편함이 없을지는 모르지만, 프로그램의 정확성을 보장하기는 어렵습니다. ​ 예를 들어 Dim i As In..

EXCEL - VBA 2022.12.14

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

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

EXCEL - VBA 2022.12.12

엑셀 VBA - 배열(1)

1. 개별 변수와 배열 개별 변수는 한 개의 이름에 한 개의 값만을 가지는데 비해서 배열은 동일한 이름에 여러 개의 요소를 갖는 단일 변수입니다. 배열은 인덱스 또는 아래 첨자를 이용해 각 요소에 접근할 수 있습니다. 2. 변수 선언 여러 개의 값을 넣을 수 있는 변수를 선언할 때 개별 변수는 이름을 달리해서 dim int1 as integer, int2 as interger, int3 as integer라고 해야 하지만 배열은 한 개의 이름으로 dim intNum(2) as integer라고 3개의 요소를 만들 수 있습니다. 배열은 인덱스가 0부터 시작되기 때문에 intNum(2)이지만 인덱스가 0, 1, 2이기 때문에 3개 인덱스가 되는 것입니다. 3. 변수 활용 값을 대입할 때 개별 변수, 배열 모..

EXCEL - VBA 2022.12.06
반응형