[3주차 VAB 4주완성 강의
1. 열심히 공부한 흔적이 담긴 사진을 남겨주세요!
(위쪽 카메라 버튼을 클릭해서 이미지를 삽입할 수 있습니다)
2. 이번 스터디에서 새롭게 알게되거나 유익했던 내용을 3가지로 요약해주세요!
1)VBA 필터 기능
2)동적범위 자동선택 및 삭제
3)MyTextjoin 기능
3. 이번 스터디를 진행하면서 특별히 좋았던 점이나 부족했던 점이 있다면 자유롭게 남겨주세요.
VBA에 대해 조금 친해지는 계기가 될 수 있어서 좋았습니다.
4. 열심히 학습한 결과파일이나 스크린샷, 코드가 있다면 자유롭게 올려주세요.
'-----------------------------------------
'미션1) 나만의 Sequence 매크로 만들기
'Column로 시작열을 지정하고, Count로 순번 개수를 지정하면
'시작열의 1행부터 순번을 출력하는 매크로를 작성합니다.
'예상풀이시간 : 3분
'-----------------------------------------
Sub SequenceNumber()
Dim Column As String '시작열 @ 예) "A", "B", "C", ...
Dim Count As Long '출력할 순번 개수 @ 예) 5, 10,15 ...
Dim i As Long ' For문 변수
'힌트1) Column = "A"
'힌트2) Count = 10
Column = "A"
Count = 20
'힌트3) For i = 1 To Count
'힌트4) Range(Column & i).Value
For i = 1 To Count
Range(Column & i).Value = i
Next
End Sub
'-----------------------------------------
'미션2) 나만의 Sequence 매크로를 동적으로 만들기
'InitCell로 시작셀을 지정하고, Count로 출력할 순번 개수를 지정하면
'InitCell을 기준으로 한칸씩 내려가며 순번을 출력하는 매크로를 작성합니다.
'예상풀이시간 : 5분
'-----------------------------------------
Sub DynamicSequence()
Dim InitCell As Range '시작셀 @ 예) Range("A1")
Dim Count As Long '출력할 순번 개수 @ 예) 5, 10 15 ..
Dim i As Long 'For문 변수
'힌트1) Set InitCell = Range("A1")
'힌트2) Count = 10
Set InitCell = Range("C5")
Count = 10
For i = 1 To Count
InitCell.Offset(i - 1).Value = i
Next
'힌트3) For i = 1 To Count
'힌트4) InitCell.Offset(i-1).Value
End Sub
'-----------------------------------------
'미션3) 나만의 TextJoin 함수 만들기
'문자를 병합할 범위를 Rng로 입력하고, 구분자를 지정하면
'Rng의 각 셀을 돌아가며 구분자로 병합하는 함수를 작성합니다.
'예상풀이시간 : 7분
'-----------------------------------------
Function MyTextJoin(Rng As Range, _
Optional Delimiter As String = ",")
'@ 인수 설명
'Rng : 값을 병합할 범위입니다.
'Delimiter : [선택인수] 구분자입니다. 기본값은 쉼표(,)입니다.
Dim r As Range 'For Each문 변수
Dim Result As String '결과로 출력할 문자열
'힌트1) For Each r In Rng
'힌트2) If r.Value <> "" Then
'힌트3) Result = Result & r.Value & Delimiter
For Each r In Rng
If r.Value <> "" Then
Result = Result & r.Value & Delimiter
End If
Next
'힌트4) MyTextJoin = Left(○○○, Len(○○○) - 1)
MyTextJoin = Left(Result, Len(Result) - 1)
End Function
Sub ClearRange()
Dim i As Long
i = Sheet1.Range("G1048576").End(xlUp).Row
If i > 1 Then
Sheet1.Range("G2:H" & i).ClearContents
End If
End Sub
Function DynamicRange(WS As Worksheet, Column As String, initrow As Long)
Dim i As Long
Dim Address As String
i = WS.Range(Column & "1048576").End(xlUp).Row
Address = Column & initrow & ":" & Column & i
Set DynamicRange = WS.Range(Address)
End Function
Sub Test()
MsgBox DynamicRange(Sheet1, "c", 2).Address
End Sub
Sub FilterItems()
'GroupRng(구분)의 조건을 비교해서, 구분에 해당하는 제품과 가격을 표시
Dim GroupRng As Range ' 필터링 할 구분 범위 (동적으로 설정!)
Dim r As Range ' GroupRng를 For Each로 하나씩 참조할 셀
Dim FilterVal As String ' 비교할 조건
Dim i As Long ' r의 값이 조건과 같을 경우, 1씩 증가할 정수
Set GroupRng = DynamicRange(Sheet1, "A", 2)
FilterVal = Sheet1.Range("E2").Value
i = 2
For Each r In GroupRng
If r.Value = FilterVal Then
Sheet1.Range("G" & i).Value = r.Offset(0, 1).Value
Sheet1.Range("H" & i).Value = r.Offset(0, 2).Value
i = i + 1
End If
Next
End Sub
Sub UniqueList()
Dim Rng As Range '고유값을 추출할 범위
Dim r As Range 'Rng 를 For Each로 하나씩 참조할 셀
Dim Items As Collection '고유값을 추가할 Collection
Dim item As Variant 'Collection을 For Each로 하나씩 참조할 값
Dim itemList As String '고유값을 나열한 목록
End Sub
번호 | 카테고리 | 제목 | 작성자 | 작성일 | 추천 | 조회 |
[📚교재 출간 안내] 「진짜쓰는 실무엑셀」 , 드디어 출간되었습니다! (135)
![]() ![]() |
![]() ![]() |
2022.02.03 | 392 | 68704 | ||
40636 | VBA 4주 완성 |
4주차 VBA강의 노트
![]() ![]() ![]() ![]() |
![]() ![]() |
2022.07.30 | - | 179 |
40631 | VBA 4주 완성 |
[4주차]VBA 4주 학습
![]() ![]() ![]() |
![]() ![]() |
2022.07.30 | - | 59 |
40630 | VBA 4주 완성 |
[3주차]VBA 4주 교육
![]() ![]() ![]() |
![]() ![]() |
2022.07.30 | - | 47 |
40627 | VBA 4주 완성 |
[2주차]VBA 4주 완성 학습
![]() ![]() ![]() |
![]() ![]() |
2022.07.30 | - | 47 |
40622 | VBA 4주 완성 |
[4주차] VBA 4주차 스터디 노트
![]() ![]() ![]() ![]() |
![]() ![]() |
2022.07.30 | - | 50 |
40621 | VBA 4주 완성 |
[4주차]엑셀 VBA 4주완성
![]() ![]() ![]() ![]() |
![]() ![]() |
2022.07.30 | - | 37 |
40618 | VBA 4주 완성 |
[4주차] 스터디 노트, 미션
![]() ![]() ![]() |
![]() ![]() |
2022.07.30 | - | 46 |
40616 | VBA 4주 완성 |
[4주차] VBA 4주 완성 특별스터디 4강
![]() ![]() ![]() ![]() |
![]() ![]() |
2022.07.30 | - | 47 |
40615 | VBA 4주 완성 |
[3주차] VBA 4주 완성 특별스터디 3강
![]() ![]() ![]() ![]() |
![]() ![]() |
2022.07.30 | - | 35 |
40614 | VBA 4주 완성 |
[2주차] VBA 4주 완성 특별스터디 2강
![]() ![]() ![]() ![]() |
![]() ![]() |
2022.07.30 | - | 40 |
40612 | VBA 4주 완성 |
[1주차] VBA 4주 완성 특별스터디 1강
![]() ![]() ![]() |
![]() ![]() |
2022.07.30 | - | 61 |
40609 | VBA 4주 완성 |
[4주차] VBA 4주 완성 스터디노트
![]() ![]() ![]() |
![]() ![]() |
2022.07.30 | - | 38 |
40607 | VBA 4주 완성 |
[4주차] 스터디
![]() ![]() ![]() |
![]() ![]() |
2022.07.30 | - | 37 |
40596 | VBA 4주 완성 |
[3주차] 스터디 및 미션
![]() ![]() |
![]() |
2022.07.29 | - | 36 |
40595 | VBA 4주 완성 |
[3주차] VBA 4주 완성
![]() ![]() |
![]() |
2022.07.29 | - | 36 |
40592 | VBA 4주 완성 |
[4주차] VBA 4주 완성
![]() ![]() ![]() |
![]() ![]() |
2022.07.29 | - | 39 |
40591 | VBA 4주 완성 |
[2주차] 스터디 및 미션
![]() ![]() |
![]() |
2022.07.29 | - | 54 |
40589 | VBA 4주 완성 |
콜렉션및 배열등
![]() ![]() ![]() ![]() |
![]() ![]() |
2022.07.29 | - | 36 |
40588 | VBA 4주 완성 |
[3주차] VBA 4주 완성 노트 및 과제
![]() ![]() ![]() |
![]() |
2022.07.29 | - | 42 |
40586 | VBA 4주 완성 |
[4주차]VBA 4주 완성
![]() ![]() ![]() ![]() |
![]() ![]() |
2022.07.29 | - | 40 |