vba 18

VBA - 30초봉 계산하기/MAX/MIN/RANGE

1. 예제파일 작성 1) 아래 시간기준으로 30초마다 CLOSE 데이터를 OHLC 계산한다. 2. 코드작성 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455Sub minute_bong() last_row = Cells(Rows.Count, 1).End(3).Row start_pos = 10 '시작위치 FOR_IDX = 3 c = FOR_IDX pre_index_row = FOR_IDX - 1 START_COND = 1 For ii = FOR_IDX To last_row '1. 시간계산하기 Cells(ii, start_pos).Value = Cells(ii, 2).Value ..

엑셀/VBA 2024.03.09

엑셀 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

엑셀 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

엑셀 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 - 열 너비 자동 조절 하기/ 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

엑셀 VBA - 한글쓰기

엑셀에 한글을 쓰고 싶을때가 있다. 한글을 셀에 기입하는 방법은 간단하다. *한글쓰기 코드 -------------------------------------------------------------------------------------------------------------------- Sub 한글쓰기() Range("A1:C2").Value = "한글쓰기" End Sub -------------------------------------------------------------------------------------------------------------------- 위의 코드를 돌리면 그냥 한글이 적힌다. 코드는 칸단하다. A1부터 C2까지 쓰는 코드다. 끝

엑셀/VBA 2020.11.02

엑셀 VBA - 행추가하기/열추가하기/행지우기/열지우기

지난번에 단축키로 행과 열을 추가하는 방법을 정리했다. 이번엔 VBA 활용해서 셀추가, 지우는 방법을 알아보자. 열,행 추가 ( 줄로 추가하는 방법) 하는 방법을 알아보자. 내가 사용하는 거니께 셀단위보다는 줄로 추가하는 방법을 적어본다. *행추가 코드 ------------------------------------------------------------------------------------------------------ Sub 행_추가하기() Rows(6).Insert End Sub ------------------------------------------------------------------------------------------------------ 코드는 단순히 6행을 추가..

엑셀/VBA 2020.11.01

엑셀 VBA - 셀 색 확인하기/셀 색 값 확인하기/색의 값

조건부 서식을 사용하면 색칠할 수 있다. 과연 조건부 서식의 셀 인덱스 값을 가져올 수 있을까? 확인해보자. 우선 확인을 위해 셀의 색값을 가져오는 방법을 알아보자. 셀 색을 칠할때와 마찬가지로 색의 값을 가져오는 방식은 2가지가 있다. 1. 셀 인덱스 가져오기 2. 셀 RGB값 가져오기 우선 인덱스 부터 가져와 보자. *셀의 색 인덱스 가져오기 --------------------------------------------------------------------------------------------------------- Sub 색칠하기_RGB컬러() Cells(2, 2).Interior.ColorIndex = "1" MsgBox (Cells(2, 2).Interior.ColorIndex) E..

엑셀/VBA 2020.11.01