반응형

배열 17

indirect 함수(2) - 누적값 계산 하기

indirect함수를 사용하면 편리한 경우로 계산하고자 하는 셀 주소가 변경되는 경우입니다. 아래 표는 구간별 명수만이 있어서 몇 개 구간에 대한 명수의 합계를 구할 경우 시작셀과 종료셀의 주소가 매번 달라지게 됩니다. 위와 같은 표로는 Match함수를 사용할 수 없으므로 아래와 같이 초과, 이하 수치 모두 기록하지 않고, 초과 수치만 지정해야 합니다. 그러면 0은 0 초과 60 이하가 되고, 60은 60 초과 70 이하가 됩니다. 1. Match함수를 이용하는 경우 가. 데이터 유효성 검사로 입력값 제한하기D10셀과 E10셀에서 입력을 받는데, 중간값 예를 들어 65 등은 입력하면 안 되므로 데이터 유효성 검사를 이용해 목록으로 값을 제한합니다. ① D10셀부터 E10셀까지 마우스로 끌어서 범위를 선택..

Excel 2023.03.28

일정한 간격으로 된 값 합계 구하기 - 배열 수식

아래와 같이 일정한 간격으로 떨어진 값을 구하는 것을 배열 수식과 VBA 사용자 정의함수를 이용해 구해 보겠습니다. 1. 배열 수식 https://support.microsoft.com/ko-kr/office/%EB%B0%B0%EC%97%B4-%EC%88%98%EC%8B%9D-%EC%A7%80%EC%B9%A8-%EB%B0%8F-%EC%98%88%EC%A0%9C-7d94a64e-3ff3-4686-9372-ecfd5caa57c7 위 사이트에 "배열 수식은 배열의 하나 이상의 항목에 대해 여러 계산을 수행할 수 있는 수식입니다. 배열을 값의 행 또는 열 또는 행과 값 열의 조합(an array as a row or column of values, or a combination of rows and column..

Excel 2023.03.17

Range.AutoFilter Method(8) - 필터된 영역에 붙여넣기(2-3)

복사할 범위와 붙여 넣을 범위가 모두 필터링된 경우에 복사해서 붙여 넣기를 다뤄보겠습니다. 1. 작업 내용 사례로서 적합한 데이터는 아니지만 첫 번째 시트에는 가락2동으로 필터 된 데이터가 있고, 두 번째 시트는 가락1동으로 필터 된 데이터가 있어서 첫 번째 시트의 내용을 복사해서 두 번째 시트에 붙여 넣으면 9행이 아니라 숨겨진 행인 7,8행에 붙여 넣기가 됩니다. 따라서, 매크로를 작성해서 처리해야 합니다. 2. 논리 복사할 범위도 필터링되어 있기 때문에 for c in PasteRange for d in CopyRange 라고 CopyRange에서 화면에 보이는 셀(범위)만 하나씩 실행하는 것을 생각할 수 있는데, 이렇게 하면 이중 반복문이므로 붙여 넣을 범위의 행수 * 복사할 범위의 행수만큼 반복..

EXCEL - VBA 2023.03.13

Range.AutoFilter Method(4) - SpecialCells(xlCellTypeVisible)(1)

필터로 조건을 걸면 조건에 해당되지 않는 행은 보이지 않고 조건에 맞는 행만 보이기 때문에 SpecialCells(xlCellTypeVisible)으로 VBA에서 데이터를 처리해야 합니다. 1. SpecialCells(xlCellTypeVisible) SpecialCells(xlCellTypeVisible)란 홈 탭 > 편집 그룹에 있는 찾기 및 선택을 누르고, 아래에서 이동 옵션을 누르면 나오는 이동 옵션 중 '화면에 보이는 셀만'에 해당합니다. 나머지 이동 옵션은 아래와 같습니다. 이름 값 설명 xlCellTypeAllFormatConditions -4172 조건부 서식 - 모두 xlCellTypeAllValidation -4174 데이터 유효성 - 모두 xlCellTypeBlanks 4 빈 셀 xl..

EXCEL - VBA 2023.03.07

엑셀 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

엑셀 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

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