[4주차] VBA 4주 특강 네번째

VBA 4주 완성
작성자
체리로즈
작성일
2022-07-23 23:18
조회
39

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

 

 

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

  1. Collection : 편의성이 용이한 입출금 주제한 통장
  2. on error resume next : 에러나면 다음으로 넘기기!!
  3. AddValidation : 유효성 목록상자 추가하기!

 

 

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

다 좋았는데, Array까지 알고갔으면 더 좋았을텐데..시간이 짧은게 아쉽네요 ㅠ

 

 

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

 

  1. Collection

'#Collection(~Dictionary) : 입출금 한도 제한 없는 자유 입출금 통장. 편의성이 좋아 초보때 이용 용이
'#Array : 갯수를 정해두고 불러오는 청약 통장. 속도가 빠르나, 초기 용량을 너무 크게 잡고 사용을 안하면 낭비가 됨.
'#Array는 값만 넣음. Range는 범위에 값만 있는것이 아님. 색도 바꾸고 글꼴도 바꿈. 편의성은 좋으나 속도가 부족함

Sub Test()

'Collection 테스트 명령문
'#새로운 Collection 만들기

Dim Coll As Collection
Set Coll = New Collection

'# Collection에 값을 추가
'Collection.Add "값", Key"
'Key는 고유값, 중복이 안됨

Coll.Add "사과", "Fruit1"
Coll.Add "배", "Fruit2"
Coll.Add "포도", "Fruit3"

'#Colection 값 지우기
Coll.Remove ("Fruit3")

'# Collection 조회하기
Dim v As Variant
For Each v In Coll
MsgBox v
Next

'MsgBox Coll(2)
'MsgBox Coll("Fruit1")
'F5로 실행

End Sub

 

 2. UniqueTextJoin 함수만들기

Function UniqueTextJoin(Rng As Range, Optional Delimiter As String = ",")
'------------------------------------
'■ Rng 범위의 고유값으로 이루어진 문자열을 만듭니다.
'■ 예) 사과, 배, 배, 귤, 사과 -> 사과, 배, 귤
'------------------------------------
'① 변수 선언 및 할당하기
'Dim Rng As Range
'Dim Delimiter As String

Dim R As Range 'Rng 를 For Each로 하나씩 참조할 셀
Dim Coll As Collection
Dim v As Variant 'Coll 을 For Each로 하나씩 참조할 값
Dim Result As String '출력 문자열

'previous Lessson에서 배웠던 함수 가져와서 사용함
'Set Rng = DynamicRange(Sheet1, "A", 2)
'Delimiter = ","

Set Coll = New Collection

'② Coll 을 하나씩 돌아가며 고유값만 추가하기
'오류가 발생하는 구문인데, r.value로 고유값만 추리기위해, 오류발생시 넘어가라는 문구를 넣음
On Error Resume Next
For Each R In Rng
Coll.Add R.Value, R.Value
Next
On Error GoTo 0

'③ 고유값으로 이루어진 문자열 만들기
For Each v In Coll
Result = Result & v & Delimiter
Next

Result = Left(Result, Len(Result) - Len(Delimiter))

'④ 결과값 확인하기
'MsgBox Result
UniqueTextJoin = Result

End Function

 

 3. 데이터 유효성 목록상자 만들기

'with문 : 같은 변수를 여러번 쓸때, with문으로 묶어주면 보기 편하다.

Sub AddValidation()
'------------------------------------
'■ Rng 셀에 데이터유효성 목록상자를 추가합니다.
'Range.Validation.Add
'① xlDVType : 데이터유효성검사 형식입니다. xlValidateList
'② AlterStype : 오류메시지 형식입니다. (기본값은 중지(Stop)입니다. 선택인수)
'③ Operator : 연산방식입니다. (목록에서는 사용하지 않습니다. 선택인수)
'④ Formula1 : 데이터 유효성검사로 작성할 수식또는 목록입니다.
'⑤ Formula2 : 연산방식이 포함 또는 포함하지 않음일 경우, 두번째로 작성하는 수식입니다.
'상세설명 링크
'오류메시지 형식 : https://docs.microsoft.com/en-us/office/vba/api/excel.xldvalertstyle
'연산방식 : https://docs.microsoft.com/en-us/office/vba/api/excel.xlformatconditionoperator
'Validation Add 상세 설명 : https://docs.microsoft.com/en-us/office/vba/api/excel.validation.add
'------------------------------------
Dim Rng As Range
Dim UniqueRng As Range

Set Rng = Sheet1.Range("E2")
Set UniqueRng = DynamicRange(Sheet1, "A", 2)

Rng.Validation.Delete
Rng.Validation.Add xlValidateList, , , UniqueTextJoin(UniqueRng)

'sheet1의 event change중 selection.change 사용해서 E2 누르면 바뀌도록 사용

End Sub

 

 

 

전체 0

전체 1,208
번호 카테고리 제목 작성자 작성일 추천 조회
알림
[📚교재 출간 안내] 「진짜쓰는 실무엑셀」 , 드디어 출간되었습니다! (135)
오빠두엑셀 | 2022.02.03 | 추천 392 | 조회 68700
오빠두엑셀 2022.02.03 392 68700
40636 VBA 4주 완성
4주차 VBA강의 노트 엑셀파일첨부파일
이명환 | 2022.07.30 | 추천 0 | 조회 179
이명환 2022.07.30 - 179
40631 VBA 4주 완성
[4주차]VBA 4주 학습 첨부파일
이상민 | 2022.07.30 | 추천 0 | 조회 59
이상민 2022.07.30 - 59
40630 VBA 4주 완성
[3주차]VBA 4주 교육 첨부파일
이상민 | 2022.07.30 | 추천 0 | 조회 47
이상민 2022.07.30 - 47
40627 VBA 4주 완성
[2주차]VBA 4주 완성 학습 첨부파일
이상민 | 2022.07.30 | 추천 0 | 조회 47
이상민 2022.07.30 - 47
40622 VBA 4주 완성
[4주차] VBA 4주차 스터디 노트 엑셀파일첨부파일 (1)
사랑2 | 2022.07.30 | 추천 0 | 조회 50
사랑2 2022.07.30 - 50
40621 VBA 4주 완성
[4주차]엑셀 VBA 4주완성 엑셀파일첨부파일
최동국 | 2022.07.30 | 추천 0 | 조회 37
최동국 2022.07.30 - 37
40618 VBA 4주 완성
[4주차] 스터디 노트, 미션 첨부파일
달구름 | 2022.07.30 | 추천 0 | 조회 46
달구름 2022.07.30 - 46
40616 VBA 4주 완성
[4주차] VBA 4주 완성 특별스터디 4강 엑셀파일첨부파일
Gladiolus | 2022.07.30 | 추천 0 | 조회 47
Gladiolus 2022.07.30 - 47
40615 VBA 4주 완성
[3주차] VBA 4주 완성 특별스터디 3강 엑셀파일첨부파일
Gladiolus | 2022.07.30 | 추천 0 | 조회 35
Gladiolus 2022.07.30 - 35
40614 VBA 4주 완성
[2주차] VBA 4주 완성 특별스터디 2강 엑셀파일첨부파일
Gladiolus | 2022.07.30 | 추천 0 | 조회 40
Gladiolus 2022.07.30 - 40
40612 VBA 4주 완성
[1주차] VBA 4주 완성 특별스터디 1강 엑셀파일
Gladiolus | 2022.07.30 | 추천 0 | 조회 61
Gladiolus 2022.07.30 - 61
40609 VBA 4주 완성
[4주차] VBA 4주 완성 스터디노트 첨부파일
ㅊH 운ㅓ | 2022.07.30 | 추천 0 | 조회 38
ㅊH 운ㅓ 2022.07.30 - 38
40607 VBA 4주 완성
[4주차] 스터디 첨부파일
girls**** | 2022.07.30 | 추천 0 | 조회 37
girls**** 2022.07.30 - 37
40596 VBA 4주 완성
[3주차] 스터디 및 미션 첨부파일
DanP | 2022.07.29 | 추천 0 | 조회 36
DanP 2022.07.29 - 36
40595 VBA 4주 완성
[3주차] VBA 4주 완성 첨부파일
| 2022.07.29 | 추천 0 | 조회 36
2022.07.29 - 36
40592 VBA 4주 완성
[4주차] VBA 4주 완성 첨부파일
익명 | 2022.07.29 | 추천 0 | 조회 39
익명 2022.07.29 - 39
40591 VBA 4주 완성
[2주차] 스터디 및 미션 첨부파일
DanP | 2022.07.29 | 추천 0 | 조회 54
DanP 2022.07.29 - 54
40589 VBA 4주 완성
콜렉션및 배열등 엑셀파일첨부파일
브랑카 | 2022.07.29 | 추천 0 | 조회 36
브랑카 2022.07.29 - 36
40588 VBA 4주 완성
[3주차] VBA 4주 완성 노트 및 과제 엑셀파일첨부파일
토토니 | 2022.07.29 | 추천 0 | 조회 42
토토니 2022.07.29 - 42
40586 VBA 4주 완성
[4주차]VBA 4주 완성 엑셀파일첨부파일
ㅇㅇ나두 | 2022.07.29 | 추천 0 | 조회 40
ㅇㅇ나두 2022.07.29 - 40
글쓰기