반응형
추가기능 사용방법
- VSTO를 통해 개발한 파워포인트 추가기능이다.
- 거추장스러운 거 다 빼고 그냥 빈도만 세는 기능이다.
- 매번 Countif 함수로 빈도수를 확인하기 번거로웠던 사람이라면 꽤 유용할 것이라 생각한다.
- 설치 방법
- 1) 첨부파일의 압축 파일을 압축 해제한다. (아무 곳이듯 상관 없음)
- 2) setup.exe 파일을 (반드시)관리자 권한으로 실행한다. (마우스 오른쪽 클릭 -> 관리자 권한으로 실행)
- 3) 다음, 설치를 클릭하면 설치가 완료된다.
- 사용 방법
- 1) 빈도수를 산출할 영역 지정
- 2) 루아흐뉴마 추가기능 탭의 FastFrequency 단추 클릭
- ※ 공백("")도 카운트한다. 빈도표에서 가볍게 삭제해주면 된다.
- ※ 수치 데이터에 대한 구간별 빈도 산출은 하지 않는다.
- 삭제하는 방법
- 1) 시작 -> 제어판 -> 프로그램 및 기능
- 2) 설치 날짜를 기준으로 내림차순 정렬
- 3) 설치된 프로그램을 선택하여 제거
추가기능 실행 동영상
메인 코드(언어: VB)
Private Sub Button1_Click(sender As Object, e As RibbonControlEventArgs) Handles Button1.Click
{
Dim box() As String = {} //배열변수 지정형식인듯, Variant 형식은 안됨. 마지막 = {}에서 배열 요소 초기화
Dim cnt As Long
Dim lastRow As Long
Dim rngSel As excelApp.Range //선택영역
Dim allRng As excelApp.Range
Dim rngR As excelApp.Range //Box 순환용
Dim myGlobal = Globals.ThisAddIn.Application
Try
{
rngSel = CType(myGlobal.Selection, excelApp.Range) //선택영역을 Range형식으로 입력받는 코드
//rngSel = CType(Globals.ThisAddIn.Application.Selection, excelApp.Range)
cnt = 0
For Each rngR In rngSel //대상 영역의 모든 Value를 Box 배열에 할당
ReDim Preserve box(cnt) box(cnt) = rngR.Value
cnt = cnt + 1
Next rngR
myGlobal.Worksheets.Add(After:=myGlobal.Worksheets(myGlobal.Worksheets.Count)) //새로운 워크시트를 가장 끝에 삽입
cnt = 0
Dim i As Long
For i = LBound(box) To UBound(box) '배열을 처음부터 순환하면서
myGlobal.Worksheets(myGlobal.Worksheets.Count).cells(i + 1, "A") = box(LBound(box) + i)
Next
allRng = myGlobal.Worksheets(myGlobal.Worksheets.Count).Range("A:A")
allRng.RemoveDuplicates(Columns:=1, Header:=excelApp.XlYesNoGuess.xlNo) //대상 영역 중복제거
lastRow = myGlobal.Sheets(myGlobal.Worksheets.Count).Cells(myGlobal.Rows.Count, "A").End(excelApp.XlDirection.xlUp).row cnt = 0
For i = 1 To lastRow
For j = LBound(box) To UBound(box) //박스 순환하면서 중복내용은 카운트 up
If CType(myGlobal.Worksheets(myGlobal.Worksheets.Count).Cells(i, "A").value, String) = box(j) Then
cnt = cnt + 1
End If
Next j myGlobal.Sheets(myGlobal.Worksheets.Count).Cells(i, "B") = cnt //카운트 된 숫자를 항목별로 뿌리기
cnt = 0
Next i
}
Catch ex As InvalidCastException //셀을 선택하지 않은 경우 오류 메시지 활성화
{
System.Windows.Forms.MessageBox.Show("셀이 아닌 개체를 선택했습니다." & Chr(10) & "1개 이상의 셀을 선택하세요.", "캐스팅오류", Windows.Forms.MessageBoxButtons.OK)
}
Catch ex As Exception System.Windows.Forms.MessageBox.Show(ex.ToString())
{
}
End Try
rngSel = Nothing
rngR = Nothing
allRng = Nothing
}
End Sub
Copyright (2019) Ruahneuma. All Rights Reserved.
반응형
'MS 추가기능 및 앱 개발' 카테고리의 다른 글
[엑셀 추가기능 배포] 빈도수 빠르게 구하기(중복카운트) #2 (0) | 2019.07.21 |
---|---|
[엑셀 추가기능 배포] 워크시트별로 분할 저장하기 (0) | 2019.07.15 |
[파워포인트 추가기능 배포] 표 셀크기(열) 자동맞춤 VBA (3) | 2018.09.20 |
[엑셀 추가기능 배포] 병합된 셀 해제하고 같은 내용으로 채우기 (0) | 2018.09.06 |
PowerPoint VSTO 사용자정의 작업창과 리본메뉴 연동 (1) | 2018.09.01 |