[3주차] VBA 4주 완성 스터디 노트

VBA 4주 완성
작성자
김지연
작성일
2022-07-17 02:31
조회
55

1. 열심히 공부한 흔적이 담긴 사진을 남겨주세요!
(위쪽 카메라 버튼을 클릭해서 이미지를 삽입할 수 있습니다)

 

 

2. 이번 스터디에서 새롭게 알게되거나 유익했던 내용을 3가지로 요약해주세요!

  1. 필터링을 통한 변경 데이터 실시간 반영
  2. 지난주 스터디 내용 반복사용으로 이해도가 올라감
  3. 입력된 셀의 내용을 지우고 새로운 데이터 입력 후 재 입력시 자동 초기화

 

3. 이번 스터디를 진행하면서 특별히 좋았던 점이나 부족했던 점이 있다면 자유롭게 남겨주세요.

지난 2주동안 따라가기 힘들어서 이번에는 강의만 보고 복습 겸 다시보기로 적용해 보려고 했는데 그래도 천천히라도 따라가봐야 스터디느낌이 나니 3주차에도 동시적용 해봤습니다!

영상 밑에 미리 적어주신 코드로 제가 적는 오타나 영타 속도로 인해 수업 내용을 자주 놓치는 상황이 줄어 들었고 더 빠른 이해가 되었어요!!

코드를 입력할 시간에 나중에 보았을때 이해할만한 주석을 입력하게 되어서 그저 따라한게 아닌 정말 스터디노트처럼 되었던것 같아요.

초반에 말씀하신대로 저 같은 분들이 많이 계셨나봐요ㅎㅎ

후반에는 직접 코드를 입력하는 것도 있었지만 위에 내용을 이해하게 되면서 놓쳐도 다시보기로 빠르게 적용할 수 있었어요!!!

감사합니다!!!

 

4. 열심히 학습한 결과파일이나 스크린샷, 코드가 있다면 자유롭게 올려주세요.

미션(1) : MyTextJoin 함수 만들기

Function MyTextJoin(Rng As Range, _
Optional Delimiter As String = ",")
'Optional = [선택인수] _ 마지막에만 삽입 가능
'매크로함수 입력시 범위 뒤에 [,"?"] ?=기호 붙이면 해당 기호로 구분자가 변경됨

Dim r As Range 'For Each문 변수
Dim Result As String '결과로 출력할 문자열

For Each r In Rng
If r.Value <> "" Then
Result = Result & r.Value & Delimiter
End If
Next

'MyTextJoin = Result
MyTextJoin = Left(Result, Len(Result) - 1)

End Function

 

미션(2) : 동적범위 DynamicRange 함수 만들기

'Function = 함수로 적용 / 동적으로~
'Function DynamicRange(WS As Worksheet, Column As String, InitRow As Long) As Range

Function DynamicRange(WS As Worksheet, Column As String, InitRow As Long) As Range
'시트삽입 활용은 안됨

Dim i As Long
Dim Address As String

i = WS.Range(Column & "1048576").End(xlUp).Row

'[Best] Range를 받아올때 시작행보다 작은값이 있으면 반환하지 않게 하는 방법!
'[Best] i 가 InitRow 보다 작으면 i는 InitRow
If i < InitRow Then i = InitRow

'[Best] 가장 아래 셀이 시작행보다 위에 있다면 시작셀으로 강제로 고정됨
Address = Column & InitRow & ":" & Column & i

Set DynamicRange = WS.Range(Address)

End Function

 

미션(3) : 필터링 함수 만들기

'필터링 매크로

Sub FilterItems()

'GroupRng(구분)의 조건을 비교해서, 구분에 해당하는 제품과 가격을 표시

Dim GroupRng As Range ' 필터링 할 구분 범위 (동적으로 설정!=데이터 추가시 자동반영)
Dim r As Range ' GroupRng를 For Each로 하나씩 참조할 셀
Dim FilterVal As String ' 비교할 조건
Dim i As Long ' r의 값이 조건과 같을 경우, 1씩 증가할 정수

'GroupRng 변수 = DynamicRnage(동적범위가져오기) 시트1 의 A열 2셀부터 마지막셀까지 가져옴
Set GroupRng = DynamicRange(Sheet1, "A", 2)

'필터링의 조건 = 시트1의 E2셀의 값
FilterVal = Sheet1.Range("E2")

'출력행은 2행부터
i = 2

'반복문! r=셀
For Each r In GroupRng
If r.Value = FilterVal Then
'시트1의 범위에 추가 -> G열 i셀 값은 찾은값의 행은 그대로 오른쪽 1칸 이동한 값을 출력
Sheet1.Range("G" & i).Value = r.Offset(0, 1).Value
'시트1의 범위에 추가 -> H열 i셀 값은 찾은값의 행은 그대로 오른쪽 2칸 이동한 값을 출력
Sheet1.Range("H" & i).Value = r.Offset(0, 2).Value
'i = i + 1 값을 If문 밖으로 내보내면 i가 입력이 안되었지만 +1이 되는 상황 발생
i = i + 1
End If
Next

End Sub

 

 

 

전체 1

  • 2022-07-17 06:07

    @김지연 님 우연히 글을 읽었는데 초보자 이면서도 잘 따라가셨나 봅니다. 거기에 미션도 바로 완성하시고.

    제가 김지연님 상사라면 (다른 부서) 스카웃했을 것 같습니다. 하하...


전체 1,208
번호 카테고리 제목 작성자 작성일 추천 조회
알림
[🏆 VBA 4주 완성 특별 스터디] 1기 - 우수 졸업생 및 후기, 축하합니다! (5)
오빠두엑셀 | 2022.07.31 | 추천 8 | 조회 1160
오빠두엑셀 2022.07.31 8 1160
40636 VBA 4주 완성
4주차 VBA강의 노트 엑셀파일첨부파일
이명환 | 2022.07.30 | 추천 0 | 조회 143
이명환 2022.07.30 - 143
40631 VBA 4주 완성
[4주차]VBA 4주 학습 첨부파일
이상민 | 2022.07.30 | 추천 0 | 조회 50
이상민 2022.07.30 - 50
40630 VBA 4주 완성
[3주차]VBA 4주 교육 첨부파일
이상민 | 2022.07.30 | 추천 0 | 조회 41
이상민 2022.07.30 - 41
40627 VBA 4주 완성
[2주차]VBA 4주 완성 학습 첨부파일
이상민 | 2022.07.30 | 추천 0 | 조회 39
이상민 2022.07.30 - 39
40622 VBA 4주 완성
[4주차] VBA 4주차 스터디 노트 엑셀파일첨부파일 (1)
사랑2 | 2022.07.30 | 추천 0 | 조회 43
사랑2 2022.07.30 - 43
40621 VBA 4주 완성
[4주차]엑셀 VBA 4주완성 엑셀파일첨부파일
최동국 | 2022.07.30 | 추천 0 | 조회 31
최동국 2022.07.30 - 31
40618 VBA 4주 완성
[4주차] 스터디 노트, 미션 첨부파일
달구름 | 2022.07.30 | 추천 0 | 조회 37
달구름 2022.07.30 - 37
40616 VBA 4주 완성
[4주차] VBA 4주 완성 특별스터디 4강 엑셀파일첨부파일
Gladiolus | 2022.07.30 | 추천 0 | 조회 42
Gladiolus 2022.07.30 - 42
40615 VBA 4주 완성
[3주차] VBA 4주 완성 특별스터디 3강 엑셀파일첨부파일
Gladiolus | 2022.07.30 | 추천 0 | 조회 30
Gladiolus 2022.07.30 - 30
40614 VBA 4주 완성
[2주차] VBA 4주 완성 특별스터디 2강 엑셀파일첨부파일
Gladiolus | 2022.07.30 | 추천 0 | 조회 36
Gladiolus 2022.07.30 - 36
40612 VBA 4주 완성
[1주차] VBA 4주 완성 특별스터디 1강 엑셀파일
Gladiolus | 2022.07.30 | 추천 0 | 조회 56
Gladiolus 2022.07.30 - 56
40609 VBA 4주 완성
[4주차] VBA 4주 완성 스터디노트 첨부파일
ㅊH 운ㅓ | 2022.07.30 | 추천 0 | 조회 34
ㅊH 운ㅓ 2022.07.30 - 34
40607 VBA 4주 완성
[4주차] 스터디 첨부파일
girls**** | 2022.07.30 | 추천 0 | 조회 33
girls**** 2022.07.30 - 33
40596 VBA 4주 완성
[3주차] 스터디 및 미션 첨부파일
DanP | 2022.07.29 | 추천 0 | 조회 32
DanP 2022.07.29 - 32
40595 VBA 4주 완성
[3주차] VBA 4주 완성 첨부파일
| 2022.07.29 | 추천 0 | 조회 32
2022.07.29 - 32
40592 VBA 4주 완성
[4주차] VBA 4주 완성 첨부파일
익명 | 2022.07.29 | 추천 0 | 조회 30
익명 2022.07.29 - 30
40591 VBA 4주 완성
[2주차] 스터디 및 미션 첨부파일
DanP | 2022.07.29 | 추천 0 | 조회 42
DanP 2022.07.29 - 42
40589 VBA 4주 완성
콜렉션및 배열등 엑셀파일첨부파일
브랑카 | 2022.07.29 | 추천 0 | 조회 32
브랑카 2022.07.29 - 32
40588 VBA 4주 완성
[3주차] VBA 4주 완성 노트 및 과제 엑셀파일첨부파일
토토니 | 2022.07.29 | 추천 0 | 조회 35
토토니 2022.07.29 - 35
40586 VBA 4주 완성
[4주차]VBA 4주 완성 엑셀파일첨부파일
ㅇㅇ나두 | 2022.07.29 | 추천 0 | 조회 36
ㅇㅇ나두 2022.07.29 - 36
글쓰기