엑셀VBA 35

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

# 특정 문자열에서 지정한 글자가 몇개 있는지 세어주는 매크로. # 사용자 정의 함수를 활용하여 엑셀 시트 내에서 함수처럼 쓸 수 있다. # 문자열이 있는 셀 주소를 참조할 수도 있고, 문자열을 직접 설정할 수도 있다. # 대소문자를 구분한다. 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

[엑셀] 같은 내용인 경우에 셀 병합하는 매크로

매크로 설명 특정 열에서 같은 내용이 반복적으로 나타나는 경우 해당 셀들을 병합하는 매크로이다. 데이터 활용에 있어서 셀 병합을 선호하지 않지만, 정리를 위해서 가끔식 필요한 매크로이다. 대략적으로 만들어서 빈 셀 처리 등은 문제가 발생할 수 있다. (매크로를 실행하기 전 시트를 백업해두자.) 사용 조건: 예시 동영상과 같이 빈 셀이 없어야 한다. 빈 셀이 없도록 데이터를 예쁘게 만져놓아야 한다. 매크로 실행 동영상 VBA Code Option Explicit Sub mergeCells() Dim i As Long Dim marker As Long Dim lastRow As Long Dim mergeCol As Long Application.DisplayAlerts = False '병합시 발생하는 대화창..

VBA Macro/VBA Excel 2017.12.19

파워포인트에 사용된 이미지 일괄 저장 매크로

매크로 설명 파워포인트 슬라이드에 있는 그림들을 일괄적으로 저장하는 코드를 응용. 파워포인트에 사용된 모든 이미지를 특정 폴더 안에 그 폴더 이름으로 저장하는 매크로이다. 매크로 실행 동영상 VBA Code Option Explicit Sub picSaveAs() Dim i As Long, cnt As Long Dim savePath As String, folderName As String Dim pic As Shape Dim targetFormat As String targetFormat = ".PNG" '그림을 저장할 형식은 PNG With Application.FileDialog(msoFileDialogFolderPicker) .Show If .SelectedItems.Count = 0 Then '..

[파워포인트 매크로] 폴더 안의 이미지 확장자 일괄변경 매크로

매크로 설명 선택한 폴더 내의 이미지 파일 확장자를 변경하는 매크로. 선택한 폴더 안에서 미리 설정한 확장자(예컨대, JPG)를 원하는 확장자(예컨대, PNG)로 다시 저장해주는 매크로. 일일이 파일을 불러와서 저장할 필요없이 일괄적으로 변경 가능하다. 아래 VBA Code 중 폴더를 선택하고 폴더 내 파일들을 순환하는 코드는 니꾸님의 블로그를 참조하였음을 밝힌다. 매크로 실행 동영상(실행 방법 포함) VBA Code Sub img_batch_convert() Dim myFileName As String '불러올 파일명 변수 Dim strPath As String '불러올 파일이 있는 경로변수 Dim myFormat As String '불러올 파일의 확장자 변수 Dim targetFormat As Str..

[엑셀] XML 파싱하기 #1 - 웹페이지 소스코드 따오기(기본코드)

S Y N O P S I S #VBA로 웹페이지 소스코드 리턴 URL로 설정된 웹페이지 주소의 소스코드를 따오는 매크로. 다시 말하면, 웹페이지에서 소스보기를 했을 때 나타나는 내용 모두를 myText 변수로 반환하는 매크로. VBA Code Sub web_source() Dim Http As Object Dim myText As String, myURL as String myURL = "http://www.naver.com" Set Http = CreateObject("MSXML2.XMLHTTP") 'Set Http = CreateObject("WinHTTP.WinHTTPrequest.5.1") '개인적으로 선호 Http.Open "GET", myURL, False Http.send myText = H..

VBA Macro/VBA Excel 2017.12.02

[엑셀] 빈행을 동일하게 채우기 매크로

## 첫 번째 시트 "A"열의 빈셀 또는 빈셀이 있는 행을 윗머리 행과 같은 내용으로 채우는 매크로## 데이터를 다루다보면 빈 행은 껄끄러운 존재다. 특히 필터를 거는 경우에는 더더욱 그렇다.## 회사 일을 하면서 가장 많이 쓰는 매크로 중 하나이다. VBA Code Option Explicit Sub duplicate_headrow() Dim myItem Dim mySheet As Worksheet Dim i As Long, lastNum As Long Dim myCol As String Set mySheet = Sheets(1) '대상시트 설정(첫 번째 시트) myCol = "A" '빈행을 채울 열 번호(A열) With mySheet.UsedRange lastNum = .Row + .Rows.Coun..

VBA Macro/VBA Excel 2017.11.16

[엑셀] 빈 행, 빈셀 삭제하기 매크로

매크로 설명 첫 번째 시트 "A"열의 빈셀 또는 빈셀이 있는 행 전체를 삭제하는 매크로 이 방법 외에도 SpecialCells 메서드로 빈행을 찾아서 없앨 수 있다. (방법은 많다.) 많은 데이터가 아니거나 손이 많이 가지 않는다면, 자동필터를 이용해서 빈 필드는 제외하고 따로 복사하는 방법을 추천한다. VBA Code 예시 Option Explicit Sub empt_row_del() Dim i As Long Dim lastRow As Long Dim targetCol As String Dim mySheet As Worksheet Set mySheet = Sheets(1) 'mySheet를 첫 번째 시트로 설정, 다른 시트가 필요하다면 변경 With mySheet.UsedRange lastRow = ...

VBA Macro/VBA Excel 2017.11.14

[엑셀] XML 파싱하기 #2 - 필요한 데이터만 잘라내기 (split 함수)

## XML 형식으로 이루어진 텍스트에서 필요한 데이터만 잘라내기 위해 VBA Split 함수를 사용한다.Split 함수는 특정 문자열에서 "구분자"를 통해 나눠지는 각 문자열을 "배열로" 반환한다.Split 함수를 엑셀의 SUM 함수처럼 자유자재로 쓴다면(그정도로 써야한다) 문자열을 처리하는 데 있어서 활용성이 매우 높은 함수이다. ## Split 함수 구문 Split 함수의 구문은 다음과 같다. Split(Expression, [Delimiter], [Limit], [Compare]) Expression은 텍스트로써, 필수요소이다. Delimiter는 구분자로써, 선택요소이다. 생략하면 공백(" ")이 기본값이다. Limit은 반환할 문자열 길이이다. 생략하면 기본값은 -1로 전체 문자열을 반환한다...

VBA Macro/VBA Excel 2017.11.11

[엑셀] 메모장 데이터 불러오기 매크로

메모장의 데이터를 Line by Line으로 변수에 넣는 매크로.이 경우 엑셀파일과 메모장 파일이 같은 폴더 내에 있어야 한다.다른 경우에는 참조할 수 있도록 myPath를 지정해주어야 하고. VBA Code Option Base 1 Option Explicit Dim textLine As String Dim myText() As Variant Dim myPath As String, fileName As String Dim file_number As Long, cnt As Long Sub xml_() myPath = ThisWorkbook.Path & "\" 'myPath 변수에 현재 엑셀파일의 위치 및 역슬래시 입력 fileName = "HRD_API.txt" file_number = FreeFile ..

VBA Macro/VBA Excel 2017.11.07

[엑셀/파워포인트] 지식의 보고, VBA 도움말 및 가이드 (파일)

## VBA2010 Guide VBA에 관한 매뉴얼이다. 게다가 한글화되어 있다. 상수, 날짜 형식, 지시문, 이벤트, 함수, 그룹, 키워드, 메서드, 개체, 연산자, 속성, 문 필요한 VBA 지식의 '운'을 띄울 수 있는 가장 강력한 교재라고 생각한다. ## Excel/PowerPoint 2013 Developer Documentation 엑셀과 파워포인트 2013의 개체모델, 간략한 코드 예제를 제공한다. 별도의 강의서적이 필요없을 정도로 풍부하다. (MS가 설치된 환경이라면 chm 파일을 검색하는 것만으로도 쉽게 구할 수 있다.) 정보제공 차원에서.. VBA Guide.chm 실행 화면

VBA Macro/VBA Excel 2017.10.27