VBA(40)
-
VBA 열 여러개 추가 (insert)
코드 실행 전 코드 : ms.Columns(2).Resize(, 2).Insert Shift:=xlToRight 코드 실행 후 Sub test() Dim m As Workbook: Set m = Workbooks(ThisWorkbook.Name) Dim ms As Worksheet: Set ms = m.Sheets(ActiveSheet.Name) ms.Columns(2).Resize(, 2).Insert Shift:=xlToRight '# ms = 활성화 된 엑셀시트 '# Columns(2) = 두 번째 컬럼(열) '# .Resize(,2) = 두 번째 컬럼에서 우측으로 두 칸 '# .insert = 우측으로 두 칸을 추가한다. '# Shift:=xlToRight = 옵션임 우측으로 추가하는 거 En..
2020.01.08 -
VBA 숫자 정렬, 버블정렬 1탄
소스 Sub GoGo_Bubble() Dim m As Workbook: Dim ms As Worksheet Set m = Workbooks(ThisWorkbook.Name) Set ms = m.Sheets(ActiveSheet.Name) Dim num() As Variant ' //임의 숫자 버블정렬 하기. num() = Array(10, 3, 6, 7, 4, 2, 9, 8, 1) ' //cells에 뿌려보기 For i = 0 To UBound(num) ms.Cells(i + 1, 1) = num(i) Next i ' //Bubble 함수 호출 Call Bubble_Ssun(num()) ' //cells에 뿌려보기 For i = 0 To UBound(num) ms.Cells(i + 1, 2) = num(..
2020.01.08 -
VBA 배열과 Range의 속도차이!
100,000행에 "ㅎㅎ" 라는 글자를 넣는 업무를 한다고 하면! Range를 사용해서 넣었을 때와 배열을 사용해서 넣었을 때의 속도차이를 보겠다. 우선 Range를 사용하여 "ㅎㅎ"라는 글자를 넣는다. Range : 100,000 행에 "ㅎㅎ" 라는 글자 채우기 : 1.63초 [Range 사용] Sub test() Dim m As Workbook: Set m = Workbooks(ThisWorkbook.Name) Dim ms As Worksheet: Set ms = m.Sheets(ActiveSheet.Name) Dim oldTime As Single: oldTime = Timer Dim rng As Range, rn As Range Set rng = ms.Range("A1:A100000")..
2020.01.08 -
VBA Redim Preserve 하다보면 발생하는 오류 '형식이 맞지 않습니다.'
생각으로는 "배열사이즈를 늘리면서 값이 있는 것만 들어가게 해야지!" 했을 때 아래 처럼 생각을 했다. Redim Preserve v(1 to r, 1 to 2) 이런식으로 배열크기를 재 지정하면서 r = r + 1 Row 사이즈를 늘린다. 하지만 이 때 이 렇게 Redim Preserve를 사용했을 때 오류가 발생할 것이다. 왜냐하면 Redim Preserve v(1 to 1, 1 to 1) 사이즈 지정할 때 마지막 차원의 값만 늘릴 수 있다. 즉 v(row, col) 구조라고 하면 row를 늘리면서 사용할 수는 없다는 것이고, col은 늘리면서 preserve를 사용할 수 있다. Dim r as integer, c as integer r = 1: c = 1 ReDim vs(1 To ..
2020.01.08 -
VBA 기초 팁! 개발도구 추가하기
보통 엑셀 VBA를 하다보면 엑셀 셀에다가 콤보박스도 넣고~ 체크박스도 넣고 라디오버튼 들도 넣는 걸 도대체 어디서 추가하나 싶을 때가 있더라구요. 추가하는 방법은 바로 엑셀 리본도구에 있는 [개발 도구] 라는 곳에 모여있는데요. 엑셀 시트 내에서도 정말 여러가지 기능들을 사용할 수 가있어요. 개발 도구 추가 방법 1. 상단 파일 탭에서 마우스 우클릭 > 리본 메뉴 사용자 지정(R).. 2. 리본 메뉴 사용자 지정 및 기본 탭에서 개발 도구 확인란을 선택합니다. 아래는 마이크로소프트에서 제공하는 가이드 입니다. 개발 도구 탭을 표시합니다. 리본 메뉴에 개발 도구 탭을 표시합니다. support.office.com 추가 내용.. 개발 도구에서 엑셀 시트에 아래..
2020.01.08 -
vba 엑셀 메모 추출해서 뿌려주기
보통 엑셀로 업무를 하다보면 메모에 내용을 적어두고 업무를 할 때가 있는데요. 이럴 때 이 메모 내용이 중구난방으로 뿌려지는 경우가 있어 취합을 한다거나? 아니면 메모 내용을 한 번에 보고 싶은 경우가 생깁니다. 이럴 때 VBA로 추출을 할 수 있습니다. 추출을 하게 되면 아래와 같은 모습이 됩니다. 메모 뽑아내기 사용법! ① ALT + F11 을 눌러 편집기가 뜨게 한다. ② 아래 "현재_통합_문서" 를 더블클릭 한다. ③ 아래 코드를 우측에 붙여 넣는다. ④ 편집기를 끄고, [보기] 탭의 매크로를 누르고 [매크로 보기(V)] 를 눌러 아래 매크로를 실행 한다. ⑤ 매크로가 실행이 되면 절차대로 하면 된다. - 범위를 드래그하여 선택 - 사진처럼 뿌려질 위치를 클릭 소스 코드 Publ..
2019.09.11