업무 스킬/Excel VBA(43)
-
[엑셀 VBA] Chart 표식 형식(모양) 변경( SeriesCollection)
윤대리다. 저번 포스팅부터 내친김에 Chart에 대해서 쭉 작성해보고자 한다. 일명 "차트 시리즈" 한 번 해보자. 다른 함수야 적당히 적어가면서 안다고 해도 Chart코딩은 정말 모르면 아예 작성도 못하고 너무 복잡하다. 넘어가고 시작한다. 우선 코딩은 다음과 같다. ActiveChart.SeriesCollection(Index).MarkerStyle = Index 위에 주황색 배경 표시된 Index는 가변 가능한 숫자이며 상황에 맞게 쓰면 된다. 설명하자면 일단 나는 저기 X,Y1,Y2,Y3를 Legend라 표시하겠다. Chart 코딩에서 Legend는 [SeriesCollection]으로 표기되며 각 순서대로 1,2,3~ 이렇게 넘버링 된다. 마찬가지로 표식의 형식도 위 그림의 각 순서대로 Mark..
2021.02.05 -
[엑셀 VBA] Chart 행열 전환(Row, Column 바꾸기)
Chart 코드 중 유익한 게 있어서 공유하고자 한다. 일반적으로 엑셀에서 차트를 그리면 위와 같이 첫 번째 Column은 X축 값이 되고 그다음 Column은 각기 다른 Y축 값이 된다. 아래를 보면 첫번째 Column의 값들이 X축이 되어 각 사원들 간의 실적 그래프를 그릴 수 있다. 혹시 Chart 생성 코드를 모르는 사람이 있을 수 있기 때문에 아래 공유 위의 차트는 각 사원들 간의 실적을 비교할 수 있지만 각 분기별 실적을 비교하려면 어떻게 해야 할까 바로 행열 전환을 하면 된다. 위와 같이 만들려면 아래 코드를 작성해주면 된다. Chart.Plotby = xlRows 기본 값은 PlotBy = xlColumns 이기 때문에 그동안 엑셀에서 차트를 생성하면 모두 Column 값들이 각기 다른 Y..
2021.02.04 -
[엑셀 VBA] 정수 반올림 Round / Int / Fix
윤 대리다. 업무에서 종종 소수점을 정수로 바꿀 때가 있는데 다들 [Round]는 익숙해서 자주 쓰겠지만 더 간단하게 쓸 수 있는 [Int]와 [Fix]를 소개하고자 한다. 먼저 코드를 간단하게 보면 Round(숫자,자리수) Int(숫자) Fix(숫자) 로 보다시피 정수화를 위한 코드를 작성할 때 [Round]보다 [Int]나 [Fix]가 더 간단한 것을 볼 수 있다. 차이점은 직접 보면 편한다. 위 예시에 각 Column 별로 [Round]/[Int]/[Fix]를 통하여 정수를 채워 놓고자 한다. 코드는 다음과 같다. 결과물은 위와 같다. 차이점이 대충 보일 텐데 1. Round는 말 그대로 반올림 2. Int는 소수점은 무시하고 무조건 앞의 정수만 딴다 3. Fix는 양의 정수일 땐 Int와 동일하지..
2021.02.02 -
[엑셀 VBA] 텍스트 나누기, TextToColumns 쉽게 하기
엑셀에서 종종 쓰는 텍스트 나누기 업무를 하다 보면 텍스트 나누기를 종종 쓸 때가 있는데 엑셀 초보자가 쓸 때 "뭐 이렇게 고르는게 많아!" 할 정도로 옵션이 많다. 막상 써야할 것은 어떤 문자를 기준으로 나눌 것인가 하나인데 뭔가 누르면 선택할 것이 많아서 괜스레 화가 난다. 텍스트 나누기에서 기억할 것은 더도 말고 덜도 말고 딱 2가지이다. " "빈공간을 기준으로 나눌 것인가? "/" or "," 같은 문자로 나눌 것인가 그러면 딱 이 두 개만 기억하면 된다. 1. 빈 공간을 기준으로 나눌 때는 요렇게 쓰다 나는 그냥 Tab:=1 이렇게 한다 2. "/" or ","등 문자로 구분할 때 저기 위에 OtherChar:= 부분에 문자만 " "안에 넣어놓고 바꾸면 된다. 참 쉽다. 괜히 복잡하게 쓸 필요 ..
2021.02.01 -
[엑셀 VBA] InputBox설명 과 사용하여 Chart 생성.
매크로 작성할 때, 정해진 변수나 범위를 사용해도 되지만. 가끔은 유저 친화적으로, 유저가 정하는 변수나 범위를 사용할 수 있게끔 만들어줄 때가 있다. 그때 사용하는 것이 바로 [InputBox]다. 매크로에선 ①[InputBox]와 ②[Application.InputBox] 두 종류가 있으며, 여기서 주로 쓰는 것은 ②[Application.InputBox] 이다. 이유는, 받을 수 있는 Data [Type]을 정할 수 있기 때문이다. [Application.InputBox]의 형식은 아래와 같다. 지정 변수 = Application.InputBox("대화상자",Type:=#) 물론, Title, Default 등 여러 가지가 있으나 거의 잘 안 쓰고 Default를 가끔 쓰긴 한다. [Type]으로 ..
2021.01.29 -
[엑셀 VBA] CountIF 활용 법.(필터링, 중복 개수 확인)
VBA에서 Countif 활용법을 알아보자 Countif를 VBA로 쓰면, Cell마다 입력해 주는 것이 아니라 한방에 입력이 가능해서 편리하다. 먼저, Countif란? Count + IF 로, 사용자가 입력한 조건에 해당하는 Cell의 개수를 Count 해준다. VBA에서 Countif 의 기본 형식은 다음과 같다. Application.CountIf (측정할 Data 영역, 조건문) 자주 사용하는 2가지 사용법을 알아보자 1. Countif을 이용한 필터링 활용 법. 내가 가장 자주 쓰는 방식인데, Data 내에 내가 원하는 조건의 값이 있는지 빠르게 확인하는 방법이다. 위는 예시인데 우선 [D]열에 빨간 경비 아래 Cell이 내가 원하는 값이다. 현재는 1,000,000이며 나는 내가 설정한 경비..
2021.01.27