본문 바로가기

엑셀VBA21

[엑셀VBA] 폴더 생성, 확장자별로 파일 이동 엑셀VBA로 폴더 생성, 확장자별로 파일 이동카메라로 사진을 찍었는데, SD카드의 같은 폴더 안에, jpg, mov, raw 파일이 한꺼번에 들어있다.확장자별로 폴더를 만들고, 확장자에 따라 파일을 이동시키려고 한다. 당신이 선택할 수 있는 방법은?1. 확장자 명으로 소팅 -> 잘라내기 -> 붙여넣기2. 프로그래밍(파이썬? VBA?)   PC정리로 파이썬이 삭제된 관계로, 일단 VBA로 작성해본다. 생각만치 잘 되지 않았지만, 한번 해놓고 나면, 응용해서, 엑셀프로그램과 연동해서 쓸수 있다는 장점은 있다. 파일 리스트 시트를 만든다거나..블로그 글들을 여러개 참고 했는데, 메모를 해놓지 않아, 참조 경로를 나열할 수가 없다.아쉬운 부분이지만, 혹시 이글을 보시는 분이 있다면 도움이 되길 바란다. 2020. 1. 20.
[엑셀VBA] 텍스트(입력키) 매크로 엑셀 텍스트(입력키) 매크로네이버의 검색순위를 조작할때, 작업을 한다고들 하는데,매크로를 사용한다는건 공공연한 비밀이다. 비슷한 맥락으로 엑셀VBA로 키를 입력할 수 있는데,엑셀 시트에 입력한 값을 던져줄 수 있다는 장점이 있다.   이는 인터넷 브라우저에서도 쓸 수 있는데, 특히 같은 회사에서 나온인터넷 익스플로러에 친화적인 것으로 보인다.(불행히도 지금은 잘 쓰이지 않지만...) 시험삼아 한번 해보자, 필요한 일이 많지는 않겠지만. ㅋ    아무도 쓸일은 없겠지만, 사용된 코드를 메모해 두었다.블로그 이곳 저곳을 기웃거리며 정리한 코드라 정신없으니, 필요하신 부분만 사용하심 될듯. 2019. 12. 30.
[엑셀VBA] VBA에서 worksheetfunction에 없는 엑셀함수 사용하기 VBA에서 worksheetfunction에 없는 엑셀함수 사용하기application.worksheetfuction 을 사용하면, 왠만한 엑셀함수를 VBE에서 사용할수 있다.문제는 당연히(?) 없는 함수도 있다는 점인데, 그냥 생각해보면 VBA에서 셀에다가 그냥 수식 텍스트가 입력되게 하면 될 것 같다.... 확신은 없지만..   우선, worksheetfuction을 써보자.Cells(1, 2).Value = Application.WorksheetFunction.Sum(1, 2) 요 식은=sum(1,2)이런 텍스트를 쳤을때와 동일한 효과일 것이다.이런 형태의 수식을 적어보는건 어떨까..?=HYPERLINK("#'"&"Sheet2"&"'!A1","GO")   1. 특수문자 처리.: 특수문자는 쌍따옴표 .. 2019. 12. 3.
[엑셀VBA] 시트 숨기기/해제하기 컨트롤러 엑셀VBA - 시트 숨기기/해제하기 컨트롤러여러명이 파일이 사용하다보면 필요에 따라 시트를 만들기도 하고,숨기기도 하는데, 시트를 숨기기/해제하기는 영 귀찮고, 놓치기도 쉽다.가끔 외부로 내보내는 파일에 숨기기가 되어있는지 모르고 보내는 ㅎㄷㄷ한 때도 있다.   이를 방지하기 위해 간단한 숨기기/해제하기 컨트롤을 VBA로 만들어 보았다.허접한 코드이지만, 좀 수정하면 괜찮아 질지 모른다. 사용법은 아래 동영상으로 올려뒀는데, 핵심은 2개의 사용자 버튼을 사용했다는 점이다.    첫번째는 목록을 만드는 거고, 두번째는 정보가 업데이트 됐을때, 이를 갱신하는 것이다.코드는 아래 있으니, 필요하신 분들은 가져다가 수정해서 쓰시면 되겠음. [시트현황 목록 만들기]    [숨기기 여부업데이트하기] 2019. 12. 2.
[엑셀/VBA] 전체시트 PDF로 출력하기 엑셀 전체시트 PDF로 출력하기엑셀시트를 PDF로 저장할 경우가 많은데, 저장하는건.. 그냥 다른이름으로 저장하면 되고,모든 시트를 페이지로 저장할때는 옵션 하나만 건드려 주면 끝이다. 그럼에도 불구하고, VBA로 단추를 하나 만들어주면 편하지 않을까 해서, 시작한 일인데, 의외로 좀 짜증나는 설정을 해줘야한다. 2019. 9. 19.
[엑셀] 피벗테이블 없이 동적인 리스트로 요약테이블 항목 만들기(match, index, countif) 피벗테이블 없이 동적인 리스트로 요약테이블 항목 만들기(match, index, countif)배열함수로 VBA처럼 조건문을 활용해야는 경우가 많은데, 아무래도 생각을 좀 해야하는 관계로;; 사용에 소극적이 될수 밖에 없다. 하지만, 한번 생각하고 서식에 두고두고 써먹을 수 있다면 의미가 있다고 생각한다. 지금 적는 글도 그와 다르지 않으니, 테이블에서 중복값을 없애고 새로운 요약테이블 항목을 만드는 작업이다.     내 경우에는 이해는 해도 막상 자유자재로 응용을 할수 있을까란 생각이 들었다. 하지만, 아무렴어떤가.. 지금의 문제를 해결한게 중하지.. ㅋ   아래 그림의 A열과 같이, 중복값을 처리할 target area가 있다고 하자. 영역을 tarr2로 이름정의를 해두었다. step #1 match.. 2019. 9. 4.
[엑셀VBA] 숨겨진 시트 전부 한방에 꺼내기 엑셀VBA로 숨겨진 시트 전부 한방에 꺼내기내가 숨겼든 남이 숨겼든, 숨겨져 있는 시트를 숨기기 취소로 일일이 꺼내기는 참으로 귀찮은 일이다.적어도 2013까지는 일괄 숨기기 취소나, 여러개를 선택해서 취소하는 기능이 없는 것 같아, VBA코드로 간단하게 짜본다.    [코드샘플]Sub showHiddenSheet() '감춘시트전체활성화 wsCount = Worksheets.Count For sheetCount = 1 To wsCount    Worksheets(sheetCount).Visible = True Next sheetCount Worksheets(1).Activate End Sub 2019. 8. 22.
[엑셀VBA] 랜덤 셀선택 값 표시 가끔 뽑기를 엑셀로 만들때가 있다.워크시트 함수로 만들면, 랜덤함수는 셀계산을 매번하는데, VBA로 만들면, 이를 방지할 수 있다.예를 들어, 몇 개의 숫자가 있고, 이를 임의로 가져오는 방법을 함수와 VBA로 만들어 봤다.    여러가지 방법이 있겠으나, 함수로 쓰면 대략 이런 모양이 되지 않을까?="선택한 값은 "& TEXT(OFFSET(D5,0,RANDBETWEEN(0,10)),"#,###") &" 입니다." 이번에는 VBA로 RANDBEETWEEN 함수를 OFFSET과 함께 사용했다. 별 건 없다. 여기에 기준셀을 선택하는 인풋창을 넣어두면 더 사용하기 편할 수 있겠지만 귀찮아서 패스. [코드샘플] Sub choice_value() Dim x As IntegerDim y As IntegerDim .. 2018. 2. 23.
[엑셀VBA] 텍스트 앞뒤 바꾸기(뒤집기) 텍스트 앞뒤 바꾸기(뒤집기)얼마전에 순서대로 있는 셀들을 거꾸로 배치하는 방법을 올린적이 있다. VBA와 함수를 사용하는 방법을 모두 올렸었다.이 꼼수 아닌 꼼수는 그 이후로 회사에서 정말 많이 써먹었었다.너무 뿌듯한 순간이 아닐 수 없다. 물론, 회사에서 아무도 알아주는 사람은 없다.내가 발로하든 VBA를 쓰든, 결과가 맞으면 되니깐. 각설하고, 위의 내용을 고민하던 중에,한 셀에 있는 텍스트를 뒤집는 것도 비슷하지 않을까라는 생각이 들었다.예를 들어 아래처럼 '가나다라마바사'가 있으면 거꾸로 '사바마라다나가'가 되도록 말이다. 안되는게 이상한거겠지만, 나같은 초보에게는 쉬운 VBA는 없다.그래도 한번 해보자.    보기 좋게 표를 그렸다, 그리고, C4셀에 앞뒤를 바꾸고 싶은 텍스트를 기입했다.아래 .. 2016. 12. 14.