[3주차] VBA스터디노트 +미션♥

VBA 4주 완성
작성자
알럽고구마
작성일
2022-07-20 12:18
조회
55

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

 

 

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

1)원하는 열부터 순번매기기

2)특정범위에서 원하는값 자동으로 찾기 (범위 초기화하는방법) - 회사 재고관리/매출관리에 유용할거 같아요

3)change 와 selection change

 

 

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

이론보다 실습하는 시간이 더 많아져서 좋았어요!

사실 offset 이란 함수도 몰라서... 이게 어떤 뜻인지 잘모르니까 내용을 못 따라가겠더라구요.

함수공부를 우선적으로 해야할듯 하네요

 

 

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

 

'힌트3) For i = 1 To Count
'힌트4) InitCell.Offset(i-1).Value
For i = 1 To Count
InitCell.Offset(i - 1).Value = i
Next

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) As Range

'Dim WS As Worksheet
'Dim Column As String
Dim i As Long
Dim address As String
'Dim Initrow As Long

'Set WS = Sheet1
'set ws = thisworkbook.workshees("품목검색")
'Column = "b"
i = WS.Range(Column & "1048576").End(xlUp).Row
If i < Initrow Then i = Initrow
'Initrow = 2
address = Column & Initrow & ":" & Column & i

'MsgBox address
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

 

 

 

전체 0

전체 1,208
번호 카테고리 제목 작성자 작성일 추천 조회
알림
[🏆 VBA 4주 완성 특별 스터디] 1기 - 우수 졸업생 및 후기, 축하합니다! (6)
오빠두엑셀 | 2022.07.31 | 추천 8 | 조회 1246
오빠두엑셀 2022.07.31 8 1246
40636 VBA 4주 완성
4주차 VBA강의 노트 엑셀파일첨부파일
이명환 | 2022.07.30 | 추천 0 | 조회 149
이명환 2022.07.30 - 149
40631 VBA 4주 완성
[4주차]VBA 4주 학습 첨부파일
이상민 | 2022.07.30 | 추천 0 | 조회 53
이상민 2022.07.30 - 53
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 | 조회 39
달구름 2022.07.30 - 39
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 | 조회 43
DanP 2022.07.29 - 43
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
글쓰기