[3주차] VBA 4주 특강 세번째
1. 열심히 공부한 흔적이 담긴 사진을 남겨주세요!
(위쪽 카메라 버튼을 클릭해서 이미지를 삽입할 수 있습니다)
2. 이번 스터디에서 새롭게 알게되거나 유익했던 내용을 3가지로 요약해주세요!
- 동적범위를 좀더 잘 쓸수있게됨.
- if함수랑 for 함수의 사용법을 좀더 알게된거같음
- 필터링함수 너무 신기함.
3. 이번 스터디를 진행하면서 특별히 좋았던 점이나 부족했던 점이 있다면 자유롭게 남겨주세요.
중간중간 마우스로 글씨써주시는 부분을, 펜으로 써주시면 좀더 부드럽게 볼수있을것 같아요.
초반 복습부분? 시작하는 부분을 짧게가져가는게 좋을것 같아요.
필터링 함수 마지막까지갔으면 좋았을텐데 조금 아쉽네요 ㅠ
4. 열심히 학습한 결과파일이나 스크린샷, 코드가 있다면 자유롭게 올려주세요.
미션1. MyTextJoin 함수 만들기
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
미션2. 동적범위 DynamicRange 함수 만들기
'function으로 사용해보기
Function DynamicRange(WS As Worksheet, Column As String, InitRow As Long) As Range
'Dim WS As Worksheet
'Dim Column As String
Dim i As Long
Dim Address As String
'Set WS = Sheet1
'Set WS = ThisWorkbook.Worksheets("품목검색")
'Column = "C"
'마지막셀에서 위로 한칸올리기. 녹화해서 확인
i = WS.Range(Column & "1048576").End(xlUp).Row
'InitRow = 2
'아래말이 무슨말이지? clearrange 안써도된다는데, 작동안하는거같은데..?
'If i < InitRow Then i = InitRow
Address = Column & InitRow & ":" & Column & i
'함수로 바꿔서 추가한 내용
Set DynamicRange = WS.Range(Address)
'MsgBox 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씩 증가할 정수
'여기서부터 작성
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
'i = i + 1
'여기에만 입력하면 입력이 안되어잇어도, i+1이 되기때문에, 기존값과 동일한 열에서 출력됨.
Next
End Sub
Sub ClearRange()
'지우는 방법1, 근데 2번 실행하면 제목까지 지워짐
'DynamicRange(Sheet1, "G", 2).ClearContents
'DynamicRange(Sheet1, "H", 2).ClearContents
'지우는 방법2
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
번호 | 카테고리 | 제목 | 작성자 | 작성일 | 추천 | 조회 |
[🏆 VBA 4주 완성 특별 스터디] 1기 - 우수 졸업생 및 후기, 축하합니다! (5)
![]() ![]() |
![]() ![]() |
2022.07.31 | 7 | 842 | ||
40636 | VBA 4주 완성 |
4주차 VBA강의 노트
![]() ![]() ![]() ![]() |
![]() ![]() |
2022.07.30 | - | 109 |
40631 | VBA 4주 완성 |
[4주차]VBA 4주 학습
![]() ![]() ![]() |
![]() ![]() |
2022.07.30 | - | 32 |
40630 | VBA 4주 완성 |
[3주차]VBA 4주 교육
![]() ![]() ![]() |
![]() ![]() |
2022.07.30 | - | 25 |
40627 | VBA 4주 완성 |
[2주차]VBA 4주 완성 학습
![]() ![]() ![]() |
![]() ![]() |
2022.07.30 | - | 20 |
40622 | VBA 4주 완성 |
[4주차] VBA 4주차 스터디 노트
![]() ![]() ![]() ![]() |
![]() ![]() |
2022.07.30 | - | 26 |
40621 | VBA 4주 완성 |
[4주차]엑셀 VBA 4주완성
![]() ![]() ![]() ![]() |
![]() ![]() |
2022.07.30 | - | 15 |
40618 | VBA 4주 완성 |
[4주차] 스터디 노트, 미션
![]() ![]() ![]() |
![]() ![]() |
2022.07.30 | - | 23 |
40616 | VBA 4주 완성 |
[4주차] VBA 4주 완성 특별스터디 4강
![]() ![]() ![]() ![]() |
![]() ![]() |
2022.07.30 | - | 27 |
40615 | VBA 4주 완성 |
[3주차] VBA 4주 완성 특별스터디 3강
![]() ![]() ![]() ![]() |
![]() ![]() |
2022.07.30 | - | 13 |
40614 | VBA 4주 완성 |
[2주차] VBA 4주 완성 특별스터디 2강
![]() ![]() ![]() ![]() |
![]() ![]() |
2022.07.30 | - | 19 |
40612 | VBA 4주 완성 |
[1주차] VBA 4주 완성 특별스터디 1강
![]() ![]() ![]() |
![]() ![]() |
2022.07.30 | - | 39 |
40609 | VBA 4주 완성 |
[4주차] VBA 4주 완성 스터디노트
![]() ![]() ![]() |
![]() ![]() |
2022.07.30 | - | 20 |
40607 | VBA 4주 완성 |
[4주차] 스터디
![]() ![]() ![]() |
![]() ![]() |
2022.07.30 | - | 19 |
40596 | VBA 4주 완성 |
[3주차] 스터디 및 미션
![]() ![]() |
![]() |
2022.07.29 | - | 17 |
40595 | VBA 4주 완성 |
[3주차] VBA 4주 완성
![]() ![]() |
![]() |
2022.07.29 | - | 15 |
40592 | VBA 4주 완성 |
[4주차] VBA 4주 완성
![]() ![]() ![]() |
![]() ![]() |
2022.07.29 | - | 16 |
40591 | VBA 4주 완성 |
[2주차] 스터디 및 미션
![]() ![]() |
![]() |
2022.07.29 | - | 22 |
40589 | VBA 4주 완성 |
콜렉션및 배열등
![]() ![]() ![]() ![]() |
![]() ![]() |
2022.07.29 | - | 19 |
40588 | VBA 4주 완성 |
[3주차] VBA 4주 완성 노트 및 과제
![]() ![]() ![]() |
![]() |
2022.07.29 | - | 17 |
40586 | VBA 4주 완성 |
[4주차]VBA 4주 완성
![]() ![]() ![]() ![]() |
![]() ![]() |
2022.07.29 | - | 19 |