thumbnail [엑셀VBA] VBA에디터(VBE)를 VSCODE로 사용하기(XLWINGS) 엑셀의 VBE는 별로다.VSCODE로 사용할 수 있다면... 득과 실이 있겠지만, 아무래도 득이 더 크지 않을까?    XLWINGSXLWINGS는 파이썬 패키지이다. 엑셀과 파이썬을 연계해주는 많은 파이썬 패키지들이 있지만,파이썬으로 엑셀파일을 컨트롤하는 프로그래밍을 하는 것이 아니라, VB를 사용하고, 그냥 IDE만 변경해준다는 개념이 XLWINGS에 있길래 시도해봤다. 사실 다른 툴들은 시도해 보지도 않았다.     Python in Excel alternative: Open. Self-hosted. No limits.Write add-ins, custom functions (UDFs), and macros with Python in Excel. Run locally or on your infras.. 2023. 12. 8.
thumbnail [엑셀VBA] Project is unviewable : EvilClippy Project is unviewable가끔 VBA add-in 코드를 확인하다보면, Project is unviewable이라고 메시지창이 뜨면서, 코드 확인이 불가능한 파일들이 있다.     EvilClippy유료프로그램으로 하는 것인줄 알고 있었는데, 구글링을 하다가, 설정하는 프로그램을 찾았다. 해당 코드로 protection 이외에 코드 난독화가 가능한것으로 보인다. GitHub - outflanknl/EvilClippy: A cross-platform assistant for creating malicious MS Office documents. Can hide VBA macros, stomA cross-platform assistant for creating malicious MS Office.. 2023. 12. 2.
thumbnail [엑셀] PDF에 있는 표를 엑셀로 옮길때.. #3 PDF에 있는 표를 엑셀로 옮길때.. #3PDF에 있는 표를 엑셀로 옮기는 방법에 대한 글은 이전에도 몇번 적은적이 있다. 이 중 최초에 올린 방법을 살짝 보완한 방법이다. PDF파일 안에 원하는 테이블이 덩그러니 하나 있을때 유효하다.  [엑셀] PDF에 있는 표를 엑셀로 옮길때.. #2PDF에 있는 표를 엑셀로 옮기는 방법 두번째. 꽤 오래전 PDF 표를 엑셀로 옮기는 방법에 대해 글을 적은 적이 있다. [엑셀] PDF에 있는 표를 엑셀로 옮길때.. 무자비한 PDF PDF에 있는 표를 엑셀로 옮길sunnybong.tistory.com [엑셀] PDF에 있는 표를 엑셀로 옮길때..무자비한 PDF PDF에 있는 표를 엑셀로 옮길때.. 그냥 텍스트로 들어가지는 경우가 있다. 아니 거의 대부분 그렇다고 봐야.. 2023. 9. 19.
thumbnail [엑셀] 다중 조건에 따라 카테고리별 합계(부분합) 구하기 다중 조건에 따라 카테고리별 합계(부분합) 구하기합계를 내야할 대상의 조건이 동일할때, 맨 처음 값에 대해서만 합계를 구하고 싶다. subtotal을 사용하면 간단하겠지만, 다른 방법을 생각해보자.아래와 같은 표가 있다. 표를 수정할 수 없고, 피벗테이블을 사용하지 않을 때 사용할 수 있다. (거의 사용한 적은 없다.)    아래와 같이, 두개의 조건(차종, 브랜드)이 변경되는 행에만 countifs 함수를 통해 ok 텍스트를 넣도록 할 수 있다.=IF(COUNTIFS($B$3:B3,B3,$C$3:C3,C3)=1,"ok","")    ok가 표기된 행에 대하여, 대수의 합계를 구해보자=IF(COUNTIFS($B$3:B3,B3,$C$3:C3,C3)=1,SUMIFS($F$3:$F$15,$B$3:$B$15,B.. 2023. 9. 14.
thumbnail [엑셀] 중복값 없애고, 텍스트 목록 가로로 이어붙이기 중복값 없애고, 텍스트 목록 가로로 이어붙이기아래와 같은 테이블이 있을때, 우측의 테이블에 차종을 하나, 브랜드 이름을 현대/기아.... 이런식으로 나열을 하고 싶다.차종은 추가될때 마다 자동으로 들어가게 하고 싶다. 당신의 선택은 무엇인가?    중복값 없애고 동적으로 값 등록하기편하긴 한데, 잘 안쓰게 되는 방법이긴 하다. 원리는 간단한데, 이미 등록된 행들에 같은 값이 있으면, 스킵을 하고, 처음 나오는 값을 등록하는 것이다. COUNTIF 함수에서 찾는 대상을 동적으로 설정하는게 핵심이다. 표 사이에 새로운 값이 들어와도 처리가 가능하다.IFERROR문은 사실 데코레이션인데, 더이상 새로운 값이 없으면, "-" 처리해준다. 실제로는 #N/A 에러가 뜰것이다.{=IFERROR(INDEX($B$3:$.. 2023. 9. 13.
thumbnail [엑셀VBA] 버전, 언어 확인 엑셀 버전, 언어 확인사용중인 오피스 버전이나, 언어는 아래 코드를 통해 확인이 가능하다. debug.Print application.Version' 16.0debug.Print Application.LanguageSettings.LanguageID(msoLanguageIDUI)' 1033 ' 1033 = English (United States)' 1042 = Korean' 1041 = Japanese' 1049 = Russian' 1036 = French' 1031 = German' 1034 = Spanish' 2052 = Chinese (PRC)' 1028 = Chinese (Taiwan)   사용중인 언어가 영어인경우, ARIAL 폰트를, 한글인 경우, 맑은 고딕 폰트를 적용하는 코드는 아래와 같.. 2023. 9. 12.
thumbnail [엑셀] 엑셀2019 실행취소(Undo) 횟수 조정하기 엑셀2019 실행취소(Undo) 횟수 조정하기복사(ctrl + c), 붙여넣기(ctrl + v) 만큼이나 자주 쓰는 단축키가 실행취소(ctrl + z)가 아닐까? 하지만, 누구나 한번쯤 실행취소를 연타하다가, 멈춰서 당황한 기억이 있지 않는가? 분명 이전 버전에서는 옵션에 실행취소 횟수를 정하는 내용이 있었던 것으로 기억하는데, 2019버전에서는 안보인다. 나만 안보이는건지는 모르겠다.    레지스트리 수정cmd 창을 열어 regedit를 쳐서, 레지스트리 편집기를 열어준다.오피스2019 버전의 경우, 상단 주소창에, 아래 주소를 입력하면, 엑셀 레지스트리의 option폴더로 이동할 수 있다.컴퓨터\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Excel\Opti.. 2023. 9. 6.
thumbnail [엑셀VBA] Sheet와 WorkSheet type의 다른점 Sheet와 WorkSheet type의 다른점변수를 선언하다보면, type 중 Sheet와 WorkSheet가 뭐가 다른지 싶다. 살짝 구글링을 해본 결과를 기술해 두자면,Sheet는 WorkSheet를 포함한다.Sheet > WorkSheet Sheet를 구성하는 타입은 WorkSheet 외에도 더 있다. 단, 현재는 다 없어진(?)거나 다름없고, ChartSheet 아니면 WorkSheet만 남았다고 생각해도 무방하다 한다.WorkSheet : the sheet with the gridlines and cells Chart : the sheet which contains a single chart DialogSheet : deprecated Macro sheets : deprecated Intern.. 2023. 8. 8.
thumbnail [엑셀] 자동필터 전체 한방에 해제하기 자동필터 전체 한방에 해제하기자동필터를 푸는 단축키는 ALT → A → C 이다. 사실 오피스 프로그램의 연속으로 키를 누르는 단축키는 몇년이 지나도 익숙해 지지 않는다.    VBA로 버튼을 만들어 두면 나름 편하게 써먹을 수 있다. 특히, 여러 열에서 필터를 걸어놨을 때 유용하다. 물론, 리본메뉴를 찾아 누르는 과정과 크게 다르지 않을지 모른다. Sub clearFilter()  ' [with Table] Does not work where active cell is out of Tables.    On Error Resume Next    ActiveSheet.ShowAllData  On Error GoTo Err_CheckErr_Check:    If Err.Number 0 Then       .. 2023. 8. 7.
thumbnail [엑셀] 테이블(표) 영역 선택해서, 이름정의로 사용하기 테이블(표) 영역 선택해서, 이름정의로 사용하기데이터 시트의 경우, 영역(range)으로 사용하는 것보다 테이블(표)로 사용하는 경우 장점이 있다.첫번째는 최하단에 데이터를 추가했을때 연결되는 수식에서 동적으로 추가된다는 것이고,두번째는 데이터가 좀 늘어나면, 엑셀이 힘겨워하는 경우를 심심치 않게 볼 수 있는데, 이를 좀 더 완화할 수 있을 것이라는 기대감이 있다. 즉, 확실치가 않다.   각설하고, 주어진 상황은 아래와 같다.데이터 시트가 있고, 이를 배열 함수로 요약하는 시트가 여러장 있었다. 나 역시도 귀찮아서, 테이블 대신 주로 영역으로 사용하고 있었는데, 어느순간, 계산 중이라는 프로그래스바가 생긴다. 테이블(표) 내에서 원하는 영역을 선택하는 것을 Structed references 이라고 하.. 2023. 8. 3.
thumbnail [구글시트] Sheets로 이미지 URL의 EXIF 정보 얻어내기 Sheets로 이미지 URL의 EXIF 정보 얻어내기아래 그림처럼 플러터에서 이미지를 띄워주고, 하단에 EXIF 정보를 표기하고 싶다.    전제사항DB를 Sheets에 저장했다. 즉, 이미지는 별도의 웹에 올려져 있고, 이미지 경로만 있는 셈이다. EXIF 정보를 보기하는 방법은 두가지로, 플러터에서 이미지를 호출, bytecode로 변환, EXIF 정보추출하는 방법과 Sheets에서 미리 EXIF 정보를 추출 각 컬럼에 정보를 기재하는 방식이다. 플러터에서 추출하는 첫번째 방법은 이미지를 호출하는 것과 맞물려서, 퍼포먼스에 악영향을 줄 것이기 때문에 배제가 되었다. 두번째 방법은 Sheets의 appscript를 활용하여, EXIF 정보를 받아오는 방식으로 사전에 한번만 해놓으면 DB에 값이 들어가기.. 2023. 7. 24.
thumbnail [엑셀] 배열수식 테이블 슬라이스 - 동적인 합계 영역 설정 배열수식 테이블 슬라이스 - 동적인 합계 영역 설정좀.. 딥한 내용이기는하지만, 단순하게 적어본다.아래와 같은 테이블이 있을때, 원하는 과일에 대한 조건을 주고, (여기서는 이름으로만 처리), 월별 생산량을 구하는 수식을 짠다고 하면, 최초에 세팅한 합계영역이 계산되어 나올 것이다.    아래 그림처럼, "수량"이라는 이름으로 정의를 해놓았다면, 보라색 영역이 변경되지 않는다는 말이다. "수량"이라는 영역을 슬라이스처럼 동적으로 만들 수 있을까? 일단 생각나는데로 해본다.    월에 따라, 열문자가 변경되어야 하므로 이를 참조할 테이블을 하나 만든다.    1월부터 12월까지, 해당하는 열문자를 기재해줬다. 그냥 놔두면 흉하니까, 나는 "열번호"라는 이름으로 이름정의를 해둘 생각이다. 테이블을 이름정의로.. 2023. 7. 20.