엑셀 22

엑셀 자동 넘버링하기

엑셀 사용하다보면 넘버링 해놓고 중간에 데이터를 지우면 넘버링을 계속 다시해줘야 하는 번거로움이 있다. 정리해보자. 1. 문제상황 1) 3열을 지우면 3번 넘버링이 없어진다. 2. 해결하기 1) 넘버링할때 숫자를 쓰는게 아니라 row()함수를 사용해준다. -> ROW(C4)를 입력하면 4번째 줄이니 4를 출력한다. 넘버링은 1번부터 할테니 빼기 3을 해준다. 3. 결과 : 알아서 넘버링이 다시되었음을 확인 할 수 있다.

엑셀 vba/다른 시트 데이터가져오기/문자열 포함 여부 확인 함수 활용/InStr

다른 시트의 데이터를 가져와서 정리해보자. 0. 예제 파일 작성하기 1) 시트 3에는 3줄의 데이터를, 시트2에는 2줄의 데이터, 시트1에는 1줄의데이터를 작성하고, summary 탭에 데이터들을 모아보자. 1. 코드작성 1) 다른 시트의 데이터들을 모아서 시트이름과 함께 작성해보자. 2) sheet 라는 문자열이 시트이름에 포함되어 있어야 코드가 진행된다.(InStr) -. InStr 는 문자열이 없으면 0을 출력한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 Sub 다른시트데이터가져오기() Dim ws_cou..

엑셀/VBA 2023.08.13

엑셀/연결하여붙여넣기/셀 복사하여 공유하기/셀 공유하기

엑셀을 정리하다보면 1번시트에서 정리하던 내용을 요약 시트에서 자동으로 반영되면 좋겠다는 생각을 한다. 해보자. 1. 예제파일 준비 2. 필터를 걸어 복사할 데이터만 남긴다 3. 이제 복사하여 summary 탭에 붙여넣을 것이다. 1) 복사를 한다. 2) 붙여 넣을때 선택하여 붙여넣기를 누른다. 3) 연결하여 붙여넣기를 누른다. 4) 붙여 넣어졌다. (셀 색상은 복사가 안되넹) 4. 이제 raw 시트에서 숫자를 바꾸면 summary 탭에 그대로 반영된다. -> 참고로 summary 탭을 임의로 변경하면 연결이 풀리는 것 같다. -> 셀색상은 다시 넣어주고, 시트 못건들게 하면 될것 같다. (아래 추가글 참고) https://gongdolgongdol.tistory.com/171 엑셀/시트보호/못건들게하기..

엑셀 vba/필터된 셀에 붙여넣기/보여지는셀에만 붙여넣기/필터숨겨진셀에 복사됨

엑셀하다보면 필터된 셀에 복사 붙여넣으면 숨겨진 셀에 붙여넣기가 되어버린다. 해결해보자 1. 예제 파일을 하나 만든다. 1) 복사할셀과 붙여넣을 셀을 만들었다. 2) 붙여넣을셀은 키위만 제외하여 필터를 걸자. - 바나나만 남았다. 2. VBA 코드작성 -. 코드를 일부 수정함. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 Sub FILTERED_PASTE() Dim COPYRANGE As Range Dim pasteRANGE As Range Dim i As Integer Set COPYRANGE = Application.InputBox("복사할범위 선택", Type:=8) Set pasteRANGE = Application.InputBox("불여넣..

엑셀/VBA 2023.08.10

Python/그래프그리기/pandas 활용/matplotlib 활용/엑셀 데이터

지난번에 엑셀데이터를 리스트화 한적이 있는데 그래프 그리려고 했던것이었다. pandas라는 패키지 이용하면 아주 간단히 그래프를 그릴수 있다. 1. 예제 활용할 excel 파일을 준비한다. -. data 중 data1 만 데이터를 그릴것이다. 1에서부터 9까지의 데이터 2. 코드를 작성한다. -. 엑셀 데이터의 첫번째 줄만 그래프를 그려보자 import pandas as pd #엑셀 파일내 데이터를 가져오기위해 정의 import matplotlib.pyplot as plt #데이터 그래프 그리기 위해 정의 import numpy as np filename = r"C:\Users\lg\Downloads\test1.xlsx" #파일명 작성 data = pd.read_excel(filename) #data 변..

엑셀 VBA - 테두리 그리기

엑셀 데이터를 좀 더 잘보기 위해서는 테두리가 좋다. 테두리도 실선, 굵은선을 이용하면 좀 더 분류하기 좋다.( 월별, 날짜별, 데이터 분류 별 등등) 오늘은 테두리 VBA로 그리는 방법 연습해보자~~ *셀 모든 곳에 테두리 그리기 코드 Sub 테두리그리기() Set RNG1 = Range("B2:E7") RNG1.Borders.LineStyle = 1 RNG1.Borders.Weight = xlThick RNG1.Borders.ColorIndex = 35 End Sub *코드 해석 - 아래 표의 범위를 RNG1 변수에 넣는다. - 그을 선의 스타일은 1로 실선을 택한다. - 두께는 THIN 얇게 - 컬러 인덱스는 35 위의 조건으로 테두리를 그린다. 코드를 돌려보자. 위의 코드대로 실행되었음을 확인할 ..

엑셀/VBA 2020.11.11

엑셀 VBA - 열너비,행높이 조절하기

지난시간엔 데이터를 여러개 볼때 편하기 위해 아래와 같이 데이터에 맞게 너비를 조절했다. 근데 발표자료나 다른자료들에 첨부할때 장소가 협소하면 괜찮은데 너비가 너무 좁아 불편하다. 조금 넓게 조절을 해보자 숫자로 조절하면 좀 더편하겠디? 그래서 아래 코드를 이용할 거다. Sub 열너비조절하기() Columns("B:E").ColumnWidth = 20 End Sub *코드설명 - B에서 E열까지 너비를 20로 바꾸어 주겠다. 바꾼 결과는 아래와 같다. 열너비가 늘어났다. 열너비는 셀 사이를 눌러보면 확인할 수 있다. 픽셀로 환산하는 방식인가 본데 그것까지는 모르겠고 대충 경험치로 설정하자~ 픽셀은 나중에 사진 첨부할때 용이할 듯하다. 그럼 이제 행도 가능한지 확인해봐야지 Sub 행높이조절하기() Rows..

엑셀/VBA 2020.11.10

엑셀 VBA - 열 너비 자동 조절 하기/ AUTOFIT 사용하기

데이터를 보면 열이 너무 넓을 때가 있다. 아래와 같은 상황이다. 데이터에 비해 열이 넓어서 공백이 너무 많다. 공백을 지워보자. 딱 데이터에 맞게 조절하는 코드는 아래와 같다. Sub 행크기조절하기() Columns("B:E").AutoFit End Sub 아주 간단하다. 열의 범위를 지정하고 오토핏!!!! 자동으로 맞춰줘 오토핏!! ㅋㅋㅋ 결과는 아래와 같다. 위의 결과는 보기 좋다기 보다 여백이 있는게 보기 좋기도 하니까 근데 데이터 항목이 현재는 3개인데 20개 넘어가고 하면 한번에 보기 쉽지 않다. 한번에 좀 더 많은 것을 보기 위해 위와 같이 여백을 줄여놓는 편이 좋다고 생각한다.

엑셀/VBA 2020.11.09

엑셀 VBA - COUNTIF 사용하기/조건에 맞는 개수 세기/엑셀 함수 가져다 쓰기

엑셀 VBA를 하다보면 엑셀의 함수를 가져다 쓰면 편할것 같다는 생각이 종종 든다. 예를 들면 FOR문을 이용해 코딩을 할 수도 있지만 머리 써야하고 귀찮다. 이를위해 엑셀의 함수를 가져다 쓰는 방법을 알아보자. 우선 조건에 맞는 셀의 개수를 세는 함수를 써보자 COUNTIF다. 조건에 맞는 셀을 세겠다는 거다. *COUNTIF 가져다쓰기 코드 ------------------------------------------------------------------------------------------------------------------------------ Sub 조건만족_개수세기() Range("d5").Value = WorksheetFunction.CountIf(Range("b3:b11")..

엑셀/VBA 2020.11.04

엑셀VBA - 빈칸찾기/찾고 조건걸기

데이터가 없는 곳을 찾아보자. 왜냐하면 데이터가 없는거는 지워버리고 처리하는게 맞다. 혹은 빈칸 찾아서 눈에 잘 띄게 해야 내가 나중에 수정할 수 있지않을까? *빈칸 찾아 색칠하기 코드 ------------------------------------------------------------------------------------------------ Sub 빈칸찾아색칠하기() For I = 1 To 8 If IsEmpty(Cells(I, 1)) Then Cells(I, 1).Interior.ColorIndex = "3" End If Next End Sub --------------------------------------------------------------------------------..

엑셀/VBA 2020.11.03