[2주차] VBA 2주차 스터디

VBA 4주 완성
작성자
SKADI
작성일
2022-07-16 21:00
조회
44

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

오빠두엑셀 VBA 4주_2강 (notion.so)

강의 들으면서 노션에 따로 작성했습니다.

(막 의식의 흐름으로 써서 저만 알아 보겠네요...)

 

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

  1. Dim / Set / For / If 4가지의 의미를 어렴풋하게 알게 되엇습니다.
  2. 특히 범위에 대한 변수는 set을 잊으면 안된다 머릿속에 넣었습니다. range를 썼다면 set을 꼭 써주기!
  3. 모든 언어의 핵심은 업무자동화이며, 때문에 For과 If를 잘 써줘야 할 것 같은데... 솔직히 For 과 If는 복습을 덜 했어요... 예시를 많이 접해보겠습니다...ㅠㅠ
  • Dim: 변수선언 <- A=B다!!
    • 예) Dim 에어컨 as 가전 대충 그런 느낌...

논리값/ 정수(소수점없음) /실수(소수점있음) / 문자 ~~ 넘을수 없는 강~~ / 개채

Boolean / Long / Double / String ~~ 넘을수 없는 강~~ / Object, Variant

  • 예) 통합문서: Dim 통합문서 As WorkBook
    시트: Dim 시트 As WorkSheet
    범위: Dim 범위 As Range

 

  • Set: 변수할당
    • 예) Dim WB As Workbook으로 통합문서로 변수선언을 했으면 다시 Set WB = ThisWorkbook 이런 식으로 어떤 류의 통합문서인지 할당을 해줌
    • Dim 이후 따라오는 녀석 같음
    • 예) Dim 통합문서 As WorkBook 이후...
      Set 통합문서 = ThisWorkBook
      Set 통합문서 = ActiveWorkBook
      Set 통합문서 = Application.Workbooks.Open <- 나는 잘 안쓸듯
    • 예) Dim 시트 As Worksheet
      Set 시트 = ActiveSheet
      Set 시트 = 통합문서.WorkSheets("시트이름" or 순번)
      Set 시트 = Sheet1
    • 예) Dim 범위 As Range
      Set 범위 = 시트.Range("A1:A2")
      Set 범위 = 시트.Cells(행번호,열번호)
      Set 범위 = Selection

 

  • For: 반복문
  • IF: 조건문

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

For과 If가... 너무... 너무 벅차요...ㅠㅠ 열심히 복습하겠습니다...

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

장보기 코드

Sub 장보기()
 
'I라는 이름으로 숫자. S라는 이름으로 문자, Rng으로 범위를 설정해준다
Dim i As Long
 
Dim s As String
 
Dim Rng As Range
 
i = 1
s = "사과"
Set Rng = Range("A1")
 
 
Stop
 
MsgBox Rng.Value
MsgBox Rng.Font.Size
 
 
End Sub

 

목차생성 코드

Sub CreateToC()
 
'변수 선언
Dim WB As Workbook
Dim WS As Worksheet
Dim i As Long
 
Set WB = ThisWorkbook
Set WS = WB.Worksheets("목차")
 
''MsgBox WB.Worksheets.Count
'시트개수를 안내창으로 볼거야 > 현재 실행중인 통합문서의 개수는 8개!
 
For i = 1 To WB.Worksheets.Count
    'Debug.Print WB.Worksheets(i).Name
'디버그는 직접 실행창에 뭐가 보이나 보여주는 거임
'직접실행창은 다 보고 나면 지워버려도 됨...!
 
'지금 위에 목차시트를 "WS"로 설정해 놓았으니 이를 응용해서...
    WS.Range("C" & i).Value = WB.Worksheets(i).Name
'이제 > 버튼을 누르면... C1~C8까지 목차가 빰! 하고 나오는데.. 이게 뭔 원리징....
'목차를 누르면 각 시트로 이동하는 링크처럼 만들고 싶어! 할 때는...
'무슨 명령문인지 모르니까! 녹화를 하면 된당^ㅁ^
 
'하이퍼링크를 추가해보자
    'Anchor=링크를 추가할 셀
    'Address=웹페이지주소or파일경로
    'SubAddress=[선택인수] 내부 시트로 이동할 때 주소
    '시트이름!A1
    '2) C★셀 > 링크, 대상 목표셀 : 시트명!A1
    '엄청 길어보이지만 주석 지우면 변수 빼고 4줄이다
    WS.Hyperlinks.Add WS.Range("C" & i), "", WB.Worksheets(i).Name & "!A1"
 
Next
 
End Sub

 

찾기바꾸기매크로

Sub FindReplace()
 
'변수선언
Dim WS As Worksheet
Dim FindValue As String
Dim ReplaceValue As String
Dim Rng As Range
Dim R As Range
 
Set WS = ThisWorkbook.Worksheets("확진자경로")
FindValue = WS.Range("J4").Value
ReplaceValue = WS.Range("J5").Value
 
'MsgBox FindValue & "," & ReplaceValue
'현재 선택된 범위를 "동적"으로 받아오기!!! 셀렉션~
 
Set Rng = Selection
'MsgBox Rng.Address
'범위 선택후 명령문 실행하면 잘 받아옴을 확인가능함
 
'rng라는 범위 내의 셀을 하나씩 돌려가며 볼거에요
'r은 왜 셋을 안 쓰는가? 범위를 할당하는게 아니라 rng 안의 개체를 하나씩 보는 상황이라서
 
 
 
For Each R In Rng
    If R.Value = FindValue Then
        R.Value = ReplaceValue
        R.Interior.Color = 65535
    End If
 
Next
 
End Sub

 

덤으로 알려주신 Xlookup함수 매크로..

Function MyXLookUp(lookup_value, lookup_range As Range, return_range As Range)
'=MyXLookup(찾을값, 찾을범위, 출력범위)
 
 
' 변수 선언
' i = 찾을범위 반복할 순번
Dim i As Long
 
' 찾을범위의 시작부터 끝까지 돌아가면서
For i = 1 To lookup_range.Rows.Count
    '찾을범위의 i번째 값이 찾을값과 동일하면
    '※힌트 : If ○○○.Cells(○).value = ○○ Then ... End If
    If lookup_range.Cells(i).Value = lookup_value Then
        MyXLookUp = return_range.Cells(i).Value
        Exit Function
    End If
        'MyXLookup 함수의 결과값으로 반환범위의 i번째 값을 출력한 후 명령문을 강제로 종료한다.
        '※힌트 : MyXLookup = ○○○.Cells(○).Value
        '※힌트 : Exit Function
Next
 
End Function

 

전체 0

전체 1,208
번호 카테고리 제목 작성자 작성일 추천 조회
알림
[🏆 VBA 4주 완성 특별 스터디] 1기 - 우수 졸업생 및 후기, 축하합니다! (6)
오빠두엑셀 | 2022.07.31 | 추천 8 | 조회 1242
오빠두엑셀 2022.07.31 8 1242
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
글쓰기