본문 바로가기

엑셀

[엑셀VBA] 폴더 생성(MkDir) 오늘은 간단한 예제를 가지고 왔습니다. "C:\temp"라는 폴더에 "test"라는 폴더를 만들어 보겠습니다. 1. 폴더 만들기 Sub makeFolder() MkDir ("c:\temp\test") End Sub MkDir은 폴더를 만들어주는 명령어입니다. 해당 경로에 이미 폴더가 있다면, 아래와 같은 에러 메시지가 팝업됩니다. 2. 폴더 확인하기 이럴 때에는 Dir을 사용해서, 폴더가 있는지 확인하고 갑니다. Dir 옵션 중에 "vbDirectory"를 사용하면, 폴더가 있으면 해당 폴더명을 없으면 ""을 가집니다. Sub checkFolder() MsgBox Dir("c:\temp\test", vbDirectory) End Sub 3. 조건부 폴더 만들기 이를 활용해서 폴더가 있으면, "이미 해당 .. 더보기
[엑셀VBA] 파일, 폴더 선택(FileDialog) 엑셀 매크로를 만들때, 정해진 파일, 정해진 폴더만 사용한다면, 코드안에 포함해서 작성하시면 됩니다. 그게 아니라, 내가 원하는 폴더와 파일에 작업을 원한다면, 해당 파일이나 폴더을 선택해주어야 합니다. 이 때, 사용할 수 있는 명령어가 FileDialog입니다. FildeDialog는 파일이나 폴더를 선택할 수 있는 대화상자를 표시합니다. FileDialog는 4가지 옵션이 있는데, 그 중 2가지 옵션을 소개하겠습니다. 1. 파일 선택 Sub selectFile() With Application.FileDialog(msoFileDialogFilePicker) .Show Debug.Print .SelectedItems(1) End With End Sub 파일을 선택하기 위한 FileDialog의 옵션은 .. 더보기
[엑셀] 중복 자료(데이터) 확인하는 3가지 방법 엑셀에서 자료를 확인할 때, 중복된 값이 있는 지 확인하는 경우가 있습니다. 오늘은 자료 중복을 확인하는 방법에 대해 알아보겠습니다. 앞으로 사용할 예제입니다. 어떤 초코칩이 중복되어 있는 지 확인해보겠습니다. 1. COUNTIF 함수 제가 제일 처음 중복된 자료를 확인할 때 사용했던 방법은 COUNTIF 함수였습니다. 사용법은 다음과 같습니다. =COUNTIF(range, criteria) 2개 인수는 모두 필수 항목입니다. range: 범위 criteria: 항목 기준 COUNTIF 함수는 기준을 충족하는 셀의 개수를 계산할 수 있습니다. 예를 들어, 1번부터 10번까지 중에서 춤추는초코칩이 몇개인지 확인하고 싶다면, 아래와 같은 함수를 쓸 수 있습니다. 그럼 결과는 2가 됩니다. 자동채우기를 통해서.. 더보기
[엑셀 함수] 원하는 문자(텍스트)에서 자르기 엑셀에서 원하는 문자에서 자료를 끊어야 할 때가 있습니다. 오늘은 특정 문자, 내가 원하는 문자에서 문자를 자르는 방법에 대해 알아보겠습니다. 1. 특정 문자가 하나만 존재하는 경우 아래와 같이 행정구역 자료를 가지고 올 때, 시도만 가져오거나 시군만 가져오는 방법에 대해 알아보겠습니다. 첫 번째, 시도만 가져오는 방법입니다. 시작은 FIND 함수로 시작됩니다. "띄어쓰기"의 위치를 확인하고, LEFT 함수를 써서, 해당 위치까지의 문자열을 반환합니다. 두번째, 시군구만 가져오는 방법입니다. 이것도 시작은 FIND 함수로 시작됩니다. 이후에 MID 함수나 RIGHT 함수를 사용해서 결과를 반환할 수 있습니다. 우선 MID 함수를 사용하면, 시작 위치와 길이를 잘 정의해야 합니다. 위치나 길이는 결과보고 .. 더보기
[엑셀 함수] 문자(텍스트) 바꾸기: REPLACE, SUBSTITUTE 엑셀에서 문자(텍스트)를 바꿔주는 함수는 2개가 있습니다. REPLACE(리플레이스), SUBSTITUE(서브스티튜트??) 발음이 맞나?? 두 함수의 차이는 REPLACE는 특정 위치를 원하는 문자로 바꾸는 함수이고, SUBSTITUTE는 특정 문자를 원하는 문자로 바꾸는 함수입니다. 1. REPLACE REPLACE 구문은 다음과 같습니다. =REPLACE(old_text, start_num, num_chars, new_text) 4개 인수 모두 필수 항목입니다. old_text: 필수. 바꿀 전체 문자 start_num: 필수. 문자의 최초 위치 num_chars: 필수. 문자의 개수 new_text: 필수. 바뀔 문자 REPACE 함수는 내가 바꾸고 싶은 전체 문자의 특정 위치를 바꿔주는 함수입니다.. 더보기
[엑셀VBA] 파일 목록(리스트) 만들기(Dir 함수) 안녕하십니까 춤추는초코칩입니다. 업무 중에 필요한 엑셀VBA를 기록하고 있습니다. 오늘은 폴더 내에 파일 목록과 파일 갯수를 가져오는 매크로를 만들어 보겠습니다. Temp 폴더안에 4개 엑셀 자료가 있습니다. 해당 경로의 파일 목록과 파일 갯수를 가져오는 매크로입니다. Sub FileList() Dim dirPath As String Dim fileName As String Dim i As Integer dirPath = "C:\Temp\" '폴더 경로 fileName = Dir(dirPath & "*.*") '첫번째 파일명 가져오기 Do While fileName "" i = i + 1 Range("A" & CStr(i + 1)).Value = fileName fileName = Dir() '다음 파일.. 더보기
[엑셀VBA] Open, Close 파일 열기, 닫기 안녕하십니까 춤추는초코칩입니다. 업무 중에 필요한 엑셀VBA를 기록하고 있습니다. 오늘은 엑셀을 파일을 열고 닫는 매크로를 만들어 보겠습니다. 이 기능을 활용하면, 엑셀에서 다른 엑셀 파일을 편집할 수 있습니다. 우선 파일 열기 매크로입니다. '예제1-1. 파일열기 Sub openExcel() Application.Workbooks.Open Filename:="C:\Users\cysti\Desktop\openExcel\sampleA.xlsx" End Sub 같은 폴더 내에서 파일이 있다면, 아래와 같이 작성하셔도 됩니다. '예제1-2. 같은 폴더 안에서 파일열기 Sub openExcel() Application.Workbooks.Open Filename:= ThisWorkbook.Path & "\samp.. 더보기
[엑셀VBA] Save, SaveAs 저장하기 안녕하십니까 춤추는초코칩입니다. 업무 중에 필요한 엑셀VBA를 기록하고 있습니다. 오늘은 엑셀을 저장하는 매크로를 만들어 보겠습니다. 이 기능을 활용하면, 특정 제목으로 저장하거나 특정 위치에 저장할 수 있습니다. 우선 가장 기본적인 저장부터 시작하겠습니다. 저장하기 매크로는 아래와 같습니다. '예제1. 저장하기 Sub saveExcel() ActiveWorkbook.Save End Sub 다만, 코드가 포함되어 있어서, 명령문을 실행하면 아래와 같은 메시지 창이 팝업 됩니다. 가볍게 무시해주셔서도 상관없을 거 같습니다. 해당 명령문을 실행하면 기본으로 설정되어 있는 폴더에 "통합문서.xlsx"가 저장됩니다. 두번째는 "예제2. 원하는 파일명으로 저장하기"라는 제목으로 파일을 저장해 보겠습니다. 이때에는.. 더보기