본문 바로가기

엑셀100

[엑셀VBA/초보자] xla 파일 (5일차) xlsm, xlam열심히 코드를 짯다면, 코드를 관리해야 한다. 엑셀에서 vba 코드를 포함한 문서를 저장하려고 하면, xlsm 파일 확장자가 가장 눈에 띈다. Excel Macro-Enabled Workbook 이라고 적혀있다.이때가 중요하다. 유혹을 뿌리치고, 눈을 밑으로 잠시 내리다 보면, xlam 파일이 보인다. 앞선 글의 내용에서 밝혔든 어떤 vba든간에, 해당 파일(workbook)에서만 맞춰서 작업이 된 것이거나, 어떤 상황에서든 사용할 수 있는 것 둘 중 하나다.   예를 들어, 1번 시트의 데이터를 2번시트의 요약테이블로 정리를 해주는 vba라면, xlsm 확장자를 고르는 게 맞겠고, 전체 시트를 개별 pdf로 추출해주는 vba라면 xlam 확장자를 고르는게 낫다.  xlam 파일 활용x.. 2024. 8. 21.
[엑셀] 영역에서 N번째 행마다 색 넣기(조건부 서식) 테이블(TABLE) & 영역(RANGE)1줄 또는 N개의 줄마다 서식을 걸어서, 데이터를 읽기 편하게 하는 서식은 테이블에서는 기본으로 제공되지만, 영역에서는 따로 조건부 서식을 지정해줘야한다.!!! 아니, 내가 모르고 있는 뭔가가 있을 수 있다.  원하는 서식아래 그림은 각 일자별로, 5개의 값이 있는 영역이다. 가독성을 높이기 위해서, 회색라인을 쳤다가, 안쳤다를 조건부 서식을 통해 생성하고 싶다.물론 조건부 서식을 활용하지 않더라도 노가다로 색을 칠해줄 수 있지만, 데이터가 변경될 경우 자동으로 들어가지 않는 단점이 있다.   STEP #1영역이든 테이블이든 첫번째 행은 HEADER이고, 기본적으로 2번행부터 값이 들어올 것이다. 따라서, 데이터 행의 ROW()값은 {2,3,4,.... } 순서가 .. 2024. 6. 3.
[엑셀] 범위 안에 빈 행이 있을 때, 모든 값 자동필터 걸기 범위 안에 빈 행이 있을 때, 모든 값 자동필터 걸기아래 그림처럼, 테이블에 빈 행이 있을때, 1번 행의 셀에서 자동 필터를 걸게 되면,    빈 행의 전까지만 필터가 걸린다.    해결방법은 다음과 같다.삼각형을 눌러 전체 셀을 선택하고,    똑같이 자동 필터를 걸어주면 된다.    필터를 열어보면, 비어있는 행과 무관하게 모든 값이 필터 대상 영역으로 설정되어있음을 확인 할 수 있다.     그 말인 즉,시트의 중간에 있는 범위라고 하더라도 아래와 같이 선택한 후에 필터를 걸면    최상단 행을 헤더로 인식해서, 필터가 걸린다는 뜻이다.     끝. 2024. 3. 28.
[엑셀] 숨겨진 셀 빼고 보이는 셀만 복사하기 셀을 숨겼을 때, 보이는 셀들만 복사하기행(ROW)가 숨겨지는 크게 두가지가 있다.1) 필터때문에 숨겨지는 경우2) 그냥 행 숨기기를 했을 때, 데이터 그룹을 설정 - 닫기가 눌러져 있을 경우 테이블의 특정영역을 복사 했을 때, 숨겨진 영역을 제외하고 싶다면, 아래 방법을 써야한다.(숨겨진 영역을 포함하여 복사하고 싶을때는 그냥 필터를 풀거나 숨기기를 해제하면 된다.) 1) 필터때문에 숨겨지는 경우그냥 복사 → 붙여넣기 하면 된다. 자동으로 보이는 셀만 복사 된다.눈썰미가 있다면 확인했겠지만, 복사했을때, 행들 사이에 점선이 추가되었다면 새로 영역이 지정되었다는 뜻이다.    2) 그냥 행 숨기기를 했을 때, 데이터 그룹을 설정 - 닫기가 눌러져 있을 경우두 개 케이스는 처리방법이 동일하다.일단 영역을 .. 2024. 1. 24.
[엑셀] 빠른 실행 도구모음에 원치 않는 아이콘이 계속 생길 때, 빠른 실행 도구모음에 원치 않는 아이콘이 계속 생길 때,빠른 실행 도구모음(QAT, quick access toolbar)을 분명 커스텀 기능으로 채워뒀었는데,저장, undo, redo, touch 기능 아이콘이 계속 생긴다.    여러가지 방법을 사용해봤는데, 계속 앞의 저 네가지 아이콘이 초기화 되길래,엑셀 사용이래 한번도 해보지 않은 업데이트라는 것을 해봤더니, 정상화 된다.오피스 업데이트는 계정 메뉴에 들어가면 있다.    엑셀 뿐 아니라, 워드 등도 같은 문제가 발생했음을 확인할 수 있었다. 업데이트 이후에는 아래 그림처럼 정상화 된다.    같은 문제가 발생한다면 시도해보길 바란다.  끝. 2023. 12. 23.
[엑셀VBA] 엑셀용량이 비정상적으로 커졌을 때, 엑셀용량이 비정상적으로 커졌을 때아주 가끔, 엑셀용량이 비정상적으로 커진 파일들을 보게된다. 몇가지 경우의 수가 있겠지만, 구글링을 통해 여기까지 왔다면, 오빠두엑셀에서 찍어준 몇가지는 시도해봤으리라.  엑셀 파일 크기 줄이기, 모든 해결방법 총정리 :: 엑셀 위키 - 오빠두엑셀엑셀 파일 크기 줄이기, 모든 해결책 총정리 엑셀 파일크기 줄이기 목차 바로가기 내용 요약 이번 포스트에서는 기존 24.1MB 파일을 최대 2.63MB 까지, 약 90% 가량, 파일 크기를 줄일 수 있는 ;엑셀www.oppadu.com 위에 기술된 경우를 제외하고, 용량도 늘지만, 짜증나는 경우는 다음과 같다.- style이 몇 백개 되는 경우- 이름관리자에서 선언된 이름이 몇 백개 되는 경우- 원치 않는 사용영역(UsedRang.. 2023. 12. 13.
[엑셀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.
[엑셀] 다중 조건에 따라 카테고리별 합계(부분합) 구하기 다중 조건에 따라 카테고리별 합계(부분합) 구하기합계를 내야할 대상의 조건이 동일할때, 맨 처음 값에 대해서만 합계를 구하고 싶다. 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.
[엑셀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.
[엑셀] 엑셀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.
[엑셀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.
[엑셀] 자동필터 전체 한방에 해제하기 자동필터 전체 한방에 해제하기자동필터를 푸는 단축키는 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.