VBA매크로 4

[엑셀 VBA] 숫자데이터의 구간별 빈도 빠르게 산출하기

이 매크로는 숫자데이터들의 구간별 빈도를 빠르게 산출하는 매크로이다. 각종 통계 데이터의 분포를 빠르게 살펴보고 보고서로 작성할 때 유용한 매크로이다. 사용법은 간단하다. 1) 데이터의 범위를 지정하고, 2) 매크로를 실행한 다음, 3) 구간값을 띄어쓰기로 입력하면 된다. 3) 단계에 대한 부연을 하자면 다음과 같다. 가령 내가 가진 연령 데이터가 최소 15세부터 최대 67세까지 있다고 하자.(매크로를 실행하면 범위를 알려준다.) 이에 대해 1) 20세 미만, 2) 20세 이상 40세 미만, 3) 40세 이상 60세 미만, 4) 60세 이상 4개 구간으로 구분하여 빈도를 산출하고자 한다면. 입력창에 0 20 40 60 100(60보다 큰 수이면 된다.)을 입력하면 된다. 일단 코드만 먼저 제시하고 추후에..

VBA Macro/VBA Excel 2021.01.26

[파워포인트 VBA] 차트 데이터레이블 일괄 변경 매크로

매크로 설명 파워포인트 차트의 데이터레이블 설정을 일괄적으로 변경하는 매크로이다. 특히 데이터레이블 위치를 임의로 변경하는 노가다를 해야하는 경우에 유용할 것 같다. 이 매크로는 엑셀을 통해 파워포인트의 차트를 제어하는 방식으로 작동한다. 파워포인트의 차트 개체모델에 접근하는 방식과 엑셀의 차트 개체모델에 접근하는 방식이 다르기 때문에, 엑셀에 적용하는 경우에는 오류가 발생 수도 있다. 매크로 실행 동영상 VBA Code Option Explicit Sub chart_batch() Dim pptRef As PowerPoint.Application Dim curSlide As Long Dim shName As String Dim objChart As PowerPoint.Chart Dim seriesCnt,..

[엑셀] VBA로 스택 구현

S Y N O P S I S #VBA로 스택 구현하기 VBA로 구현한 스택이다. 별 건 없다. 필요할 때 가져다 쓰려고 만들어봤다. VBA Code Option Explicit Option Base 0 Const MAXI = 5 'stack 크기 설정 Dim myTop As Long Sub myStack() Dim myArr() As Variant myTop = -1 ReDim Preserve myArr(MAXI) 'stack 크기만큼 배열 초기화 Call push(myArr, "아이템 1") Call push(myArr, "아이템 2") Call pop(myArr) Call pop(myArr) End Sub Function push(ByRef fn_arr() As Variant, ByVal fn_ite..

VBA Macro/VBA Excel 2018.01.14

[엑셀] 글자 수 세기 (사용자 정의 함수)

# 특정 문자열에서 지정한 글자가 몇개 있는지 세어주는 매크로. # 사용자 정의 함수를 활용하여 엑셀 시트 내에서 함수처럼 쓸 수 있다. # 문자열이 있는 셀 주소를 참조할 수도 있고, 문자열을 직접 설정할 수도 있다. # 대소문자를 구분한다. VBA Code #1 Option Explicit Function cntChr(ByVal target As Variant, ByVal txt As Variant) Dim i As Long Dim cnt As Long Dim start As Long cnt = 0 start = 1 i = 1 Do If InStr(start, target, txt) > 0 Then '찾는 글자가 있으면(>0) cnt = cnt + 1 '카운트를 증가하고 start = InStr(st..

VBA Macro/VBA Excel 2018.01.11