본문 바로가기

엑셀

[엑셀VBA] Join, 문자열 합치기 안녕하십니까 춤추는초코칩입니다. 업무 중에 필요한 엑셀VBA를 기록하고 있습니다. 지난 시간에 "Split, 문자열 나누기"를 했습니다. 오늘은 "문자열 합치기" 혹은 "텍스트 합치기" 기능입니다. 엑셀 VBA의 Join 함수는 배열의 항목을 결합하여 하나의 문자로 반환합니다. 함수의 구문 Join ( SourceArray, [Delimiter] ) 함수의 인수 SourceArray 필수 결합하려는 문자열 Delimiter 선택 각 문자열을 구분하는데 사용되는 구분 기호로, 생략하면 공백(" ")으로 설정 '예제1. 문자열 합치기, 구분자 기본설정(" ") Sub TextJoin() ' Join together the strings "John", "Paul" and "Smith". Dim fullName.. 더보기
[엑셀VBA] 목차 만들기(Sheet Hyperlink) 안녕하십니까 춤추는 초코칩입니다. 업무 중에 필요한 엑셀 VBA를 기록하고 있습니다. "시트명을 클릭하면, 해당 시트로 이동하는 목차" 엑셀을 다루다 보면, 가끔 몇십 개의 시트가 하나의 파일에 있는 경우가 있습니다. 목차도 없고, 목차가 있다 하더라도 시트 링크가 없을 때에는 감정이 올라오기도 합니다. 몇 개 정도야 hyperlink를 사용하기도 하지만 10개가 넘어가고 20개가 넘어가면 반복적인 일에 피로감을 느낍니다. 그래서 "시트명을 클릭하면, 해당 시트로 이동하는 목차"를 만들어 보겠습니다. 우선 아래와 같은 파일이 있다고 가정하겠습니다. 첫 번째 시트는 목차 시트입니다. 그리고 두 번째 시트부터 다섯번째 시트까지 4개 시트에 대한 목록을 만들어 보겠습니다. 첫번째 방법. 직접 링크 만들기 A2.. 더보기
30. [엑셀] 꺾은선 그래프 0, 빈 셀 연결하기 작성일자: 2020-04-20 작성자: 춤추는초코칩 작성버전: 엑셀 2016 작성내용: 꺾은선 그래프 0, 빈셀 연결하기 꺾은선 그래프를 사용할 때, 0이나 누락된 자료(빈 셀)이 있으면 보기가 싫습니다. 그래서 0이나 누락된 자료(빈 셀)를 무시하고 그리는 방법에 대해 알아보겠습니다. 다음 자료는 2018년 1월부터 2019년 12월까지 저의 누적 배당금 자료입니다. 임의로 2018년 6월 자료는 0으로, 12월 자료는 빈 셀로 표시했습니다. 1단계. 꺾은선 그래프 그리기 1. 데이터 선택 2. 삽입[탭] > 차트[그룹] > 꺾은선 그래프 2단계. 그래프 꾸미기- 데이터 레이블 추가 1. 그래프에서 값 선택 후 오른쪽 클릭 2. 데이터 레이블 추가 3. 데이터 레이블 선택 후 데이터 레이블 서식 4. .. 더보기
[엑셀VBA] 셀 선택, 범위 선택(Cells, Range, Offset) 안녕하십니까 춤추는초코칩입니다. 업무 중에 필요한 엑셀VBA를 기록하고 있습니다. 오늘은 "셀을 선택"하거나 "범위를 선택"하는 방법입니다. 엑셀 VBA의 Range, Cells, Offset 을 통해서 셀과 범위를 표현할 수 있습니다. 아래의 코드들은 표현방식은 조금씩 다르지만 동일한 결과를 보여줍니다. '1. 셀선택 'A1을 선택합니다. Sub SelectCells1() Cells(1, 1).Select Range("A1").Select End Sub '2. 범위선택 'A1부터 B2까지 4칸을 선택합니다. Sub SelectCells2() Range("A1:B2").Select Range("A1", "B2").Select Range(Cells(1, 1), Cells(2, 2)).Select End S.. 더보기
[엑셀VBA] 배열(Array) 크기 구하기 안녕하십니까 춤추는초코칩입니다. 업무 중에 필요한 엑셀VBA를 기록하고 있습니다. 오늘은 "배열(Array)의 크기(Sizez)"를 알아내는 기능입니다. 엑셀 VBA의 Ubound는 배열 상한의 위치를 반환합니다. Lbound는 배열 하한의 위치를 반환합니다. 함수의 구문 Ubound ( arrayname, [dimension] ) Lbound ( arrayname, [dimension] ) 함수의 인수 arrayname 필수 배열 변수의 이름 dimension 선택 배열의 차원. 기본설정은 1 '배열의 크기를 알아보자. Sub Sub ArraySize() ' 배열을 선언합니다. Dim names(10) As String '상한의 위치를 반환합니다. MsgBox "Ubound: " + CStr(UBoun.. 더보기
[엑셀VBA] Split, 문자열 나누기 안녕하십니까 춤추는초코칩입니다. 업무 중에 필요한 엑셀VBA를 기록하고 있습니다. 오늘은 "텍스트 나누기"기능입니다. 엑셀 VBA의 Split 함수는 문자열을 특정 구분자로 나누고 배열로 반환합니다. 함수의 구문 Split ( Expression, [Delimiter], [Limit], [Compare] ) 함수의 인수 Expression 필수 분할하려는 텍스트 문자열 빈 문자열이며나 빈 배열을 반환 Delimiter 선택 구분자. 기본설정은 공백("") Limit 선택 최대 문자열 수를 지정하는 정수. 기본설정은 모든 문자열 Compare 선택 비교유형을 다음 중 하나로 지정 vbBinaryCompare(기본) vbTextCompare vbDatabaseCompare '문자열 나누기: 이름을 나누어 보.. 더보기
29. [엑셀] 공휴일 제외한 날짜 계산하기 NETWROKDAYS(), NETWORKDAYS.INTL() 함수 회사에서 작업일자를 계산하는 경우가 있습니자. 저희 회사에서는 작년까지만해도 주말을 포함하여 계산했기 때문에 사칙연산함수로도 충분했었습니다. 하지만 올해부터 주말과 공휴일을 제외하고 계산하자는 이야기가 있어 어떻게 적용할까 고민하다가 엑셀에서 적용하는 게 좋을 거 같아 함수를 찾아보게 되었습니다. 그러다 주말이나 휴일을 제외한 작업 일수를 계산할 때에는 사용되는 NETWORKDAYS와 NETWORKDAYS.INTL를 알게되었습니다. 정의 함수 설명 NETWORKDAYS start_date와 end_date 사이의 전체 작업 일수를 반환합니다. 주말과 공휴일은 포함하지 않습니다. NETWORKDAYS.INTL start_date와 end_d.. 더보기
[엑셀VBA] 알림(Alert) 삭제하기, 설정하기 안녕하십니까 춤추는초코칩입니다. 업무 중에 필요한 엑셀VBA를 기록하고 있습니다. 오늘은 알림을 삭제하거나 설정하는 VBA를 만들어 보겠습니다. 엑셀에서 시트를 삭제할 때, 아래와 같은 메시지 창이 뜨는 경우가 있습니다. '알림을 삭제합니다. SubSub AlertOff() Application.DisplayAlerts = False End Sub '알림을 설정합니다. Sub AlertOff() Application.DisplayAlerts = True End 더보기