분류 전체보기 106

[엑셀] 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

영국(런던), 프랑스(파리) 출장 #1

# 런던으로 가기 전 인천국제공항에서 한 컷. # Holiday Inn. 곳곳에 널렸다. 시설은 나쁘지 않다.# 흡연 객실과 금연 객실을 따로 둔다. 팁은 받는다고 한다(프랑스는 팁문화가 거의 없다고 봐야).# 다른 숙박시설은 안가봐서 모르겠다만, 화장실이 정말 별로다(프랑스도 마찬가지).# 화장실 내에 배수구가 없어서 커튼을 치지 않고 샤워를 하면 욕실을 금새 바다로 만들 수 있다(우리나라에도 이런 호텔이 몇 군데 있음..). # 영국은 아파트가 거의 없다고 한다. # 앨버트 기념비. 이 정도로 어마어마한 기념비가 세워질 정도의 사연이 있었는데, 정확히 기억이 안 난다.# 하여튼 기념비를 세워달라고 해서 세웠다고 한다. # 하이드 파크(Hyde Park) 영국에서 가장 큰 공원 중 하나. # 빅벤을 보..

그날 2017.11.26

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

## 첫 번째 시트 "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

[엑셀] 자주 사용하는/유용한 VBA 코드 정리

## 자주 사용하는 VBA 코드 정리 VBA Code Sub useful_code() last_cell_num = Sheets("Sheet1").Cells(Rows.Count, "A").End(xlUp).Row '마지막 셀의 행번호 찾기 'A 열 중간에 행이 비어 있어도 가장 마지막 행번호를 찾는다. '워크시트의 A 열 가장 아래쪽 끝에서 Ctrl + ↑를 한 것과 동일하다. Set myRng = Sheets("Sheet1").Cells(1,"A").CurrentRegion 'myRng를 A1 셀과 인접한 비어있지 않은 모든 셀의 Range 객체로 반환한다. 'A1 셀에서 Ctrl + A를 실행한 것과 동일하다. Dim OneArray(10) Dim MyArray(1 To 10, 5 To 15, 10 T..

VBA Macro 2017.10.27