-
[비공개] 엑셀 VBA #39 / 행삭제_기본 [VBA]
엑셀 VBA #39 / 행삭제_기본 [VBA] Dim i As Long, lR As Long lR = Cells(Rows.Count, "A").End(xlUp).Row For i = lR To 2 Step -1 If Cells(i, "A") = "A-1" Then Cells(i, "A").Resize(, 2).Delete End If Next https://www.youtube.com/watch?v=dfJyFc4uelU&list=PLfxvqpVC..추천 -
[비공개] 엑셀 VBA #37 / 행삽입_변형 [VBA]
엑셀 VBA #37 / 행삽입_변형 [VBA] 1. 원하는 개수 만큼 행 삽입 Dim i As Long, lR As Long Dim j As Long lR = Cells(Rows.Count, "A").End(xlUp).Row For i = lR To 2 Step -1 If Len(Cells(i, "B")) Then ' Cells(i, "B")에 값이 있다면 아래 구문 반복해 For j = 1 To Cells(i, "B").Value '1부터 B열의..추천 -
[비공개] 엑셀 VBA #36 / 행삽입_기본 [VBA]
엑셀 VBA #36 / 행삽입_기본 [VBA] 1. 목적 : VBA에서 행삽입 기능 숙지 2. Insert - 구문 : 개체.Insert Shift:=xldown - 의미 : 정해진 영역에서 기존 행은 아래로 이동시키고 새로운 행 삽입 3. 사용 Dim i As Long, lR As Long lR = Cells(Rows.Count, "A").End(xlUp).Row ' "A"열의 데이타가 있는 마지막 셀의 행번호 For i = 2 To lR If ..추천 -
[비공개] 엑셀 VBA #35 / 고급필터 [VBA]
엑셀 VBA #35 / 고급필터 [VBA] 1. 구문 영역.AdvancedFilter xlFilterCopy, 조건범위, 복사위치 2. 활용예제 Dim rng As Range, c As Range, d As Range Set rng = Range("A1").CurrentRegion Set c = Range("E1:E2") '조건범위 Set d = Range("A25") '복사위치(고급필터링된 값이 뿌려질 첫번째영역) rng.AdvancedFilte..추천 -
[비공개] 엑셀 VBA #34 / 사용자정의 함수 [VBA]
엑셀 VBA #34 / 사용자정의 함수 [VBA] 1. 목적 : VBA코딩시 자주 사용되는 수식을 함수화하여 편이성 도모 2. 구조 Function 함수명(인수1,인수2,....) As 자료형 ~~~~~ End Function 함수명 : 워크시트함수와 동일하면 안됨 자료형 예시 : Integer, Long,.... 3. 활용 '엑셀 VBA #32 / 자동필터_1 [VBA]'에서 사용한 'rng.SpecialCells(xlCellTypeVisible)..추천 -
[비공개] 엑셀 VBA #33 / 자동필터_2 [VBA]
엑셀 VBA #33 / 자동필터_2 [VBA] 앞선 강좌(엑셀 VBA #32 / 자동필터_1 [VBA])의 예제 코드를 실무 사용시 문제점 문제점1. 새로운 조건을 필터시(그 결과개수2개) 이전에 자동필터된 자료(결과개수6개)가 A20셀 아래에 그대로 남아 있어 문제 소지가 있음 문제점2. 아티스트명이 rng영역에 없는 경우, 사용자가 프로그램 오류인지 조건설정 잘못인지 신속 파악힘듬 새로운 코드 Dim sh1 As Worksheet Dim rng ..추천 -
[비공개] 엑셀 VBA #32 / 자동필터_1 [VBA]
엑셀 VBA #32 / 자동필터_1 [VBA] Dim sh1 As Worksheet, rng As Range Set sh1 = Sheets("자동필터") Set rng = Range("A1").CurrentRegion If sh1.AutoFilterMode = False Then rng.AutoFilter '만약 sh1 시트에 자동필터모드가 아니라면(false), rng영역에 자동필터해라 If sh1.FilterMode = True Then sh1..추천 -
[비공개] 엑셀 VBA #31 / 정렬_2 [VBA] - 예제
엑셀 VBA #31 / 정렬_2 [VBA] - 예제 1. 예제1 : 생년 기준으로 오름차순 정렬 Dim rng As Range Set rng = Range("A1").CurrentRegion Set rng = rng.Offset(, 1).Resize(, rng.Columns.Count - 1) ' rng변수이름 동일 적용하여, 순차적 적용 !!!!!!자세히 볼것, 'Offset(, 1) =offset(0,1) '***Resize(, rng.Colu..추천 -
[비공개] 엑셀 VBA #30 / 정렬_1 [VBA]
엑셀 VBA #30 / 정렬_1 [VBA] 1. 코딩 예시 1.1. 정렬기준 : 일자 오름차순 Dim rng As Range Set rng = Range("a4", Cells(Rows.Count, "d").End(xlUp)) Sheets("정렬1").Sort.SortFields.Clear '시트 '정렬1'에 사용자정의목록으로 정렬되는게 있다면 지워라(정렬 코딩시 필수 문장). rng.Sort rng(1, 1) 'rng영역의 첫 번째 행 & 첫 번째..추천 -
[비공개] vba - 셀 범위 선택
방법1 : Range("A1:D10").Select 방법2 : Range("A1).CurrentRegion.Select 방법3 : Range("A1", Cells(Rows.Count, "D").End(xlUp)).Select 만약 D10셀이 빈셀이라면... 위 방법1,2,3은 제대로 작동될까..... 방법1,2는 이상무, 그러나 방법3는 엉뚱한 결과가 나온다. 아래 그림처럼. 그래서 해결방법은.........????? 아래의 4번 혹은 5번을 ..추천