VBA기초 이론질문

VBA
작성자
iviolin****
작성일
2021-01-04 20:43
조회
96

오빠두님 VBA강의와 커뮤니티의 다른 분들이 올려주신 글을 보며 VBA를 공부하고 있는 중에 궁금한 것이 생겨서 질문합니다.

1)변수를 지정할 때에

  1. Dim Rng()
  2. Dim Rng(동적배열 지정)

이 두개의 차이점이 뭔가요...?

둘다 동적 범위를 만들어 내는거면 어떠한 차이가 있는거죠?

2)그리고 다른분의 글의 댓글에 첨부되어있는 파일에 있는 VBA를 공부하던 중

Function Dupli(Cel As Range, RgB As Range) As String

이라고 적혀있는 코드를 봤습니다.

이렇게 되면 Cel과 RgB는 Range변수가 되고

Dupli는 String변수가 되는건가요...?

그리고 Dim Coll As New Collection

이라는 코드가 있던데 New Collection이 무엇인지 모르겠네요

3)VBA목차 만들기 강의에서 오름차순 내림차순 모듈의 맨 처음 함수의 변수를 지정해주실 때에

Function SortArray(VaArr As Varaint, Optional SortOrder As xlSortOrder = xlAsending, Optional NumericSort As Boolean = True)

라고 지정해주셨는데

Optional SortOrder As xlSortOrder = xlAsending 이라는 코드를 이해를 못하겠네요...

SortOrder 의 초기값으로 xlAsending으로 지정하는 것 까지는 알겠는데 xlSortOrder는 무엇인지 모르겠습니다.

마지막으로 VBA목차 만들기 강의에서

셀에 하이퍼링크를 지정해주는 코드로

.Hyperlinks.Add anchor:=.Cells(x+5 ,3), Address:="", SubAddress:= " ' " & CStr(vaArr(i)) & "'!A1", TextToDisplay:= vaArr(i)

라고 해주셨는데

anchor 은 하이퍼링크를 생성할 곳을 지정

SubAddress 는 이동할 곳을 지정

TextToDisplay는 화면에 보여질 텍스트를 지정 하는 인수라고 이해했습니다.

그런데 Address는 어떤 인수인지 검색을 아무리 해도 잘 모르겠네요...

더불어서 VBA 코드 인수같은걸 검색할 때는 어디 사이트에서 하면 좋은지도 알려주셨으면 좋겠습니다...ㅠㅠ

기초적인 질문이지만 하나씩 배워나가겠습니다

회원등급 : 나무4단계
포인트 : 3270 EP
총질문 : 26 개 (마감율 : 23%)
채택답변 : 19 개
전체 5

  • 2021-01-05 06:12
    채택된 답변

    안녕하세요.

    1)

    Dim Rng (배열갯수) As Variant

    는 동적배열이 아닌 정적배열로 지정됩니다.

    Dim Rng() As Variant 는 우선 빈배열이 생성되고, Redim Rng ( 배열갯수 ) 로 매번 다른 크기의 배열을 만들 수 있습니다.

    2)

    Colleciton 개체는 아래 잘 설명된 블로그가 있어 링크를 적어드리니 확인해보세요.

    http://blog.naver.com/PostView.nhn?blogId=b810bs&logNo=221435894044&categoryNo=8&parentCategoryNo=0&viewDate=&currentPage=1&postListTopCurrentPage=1&from=postView

    3)

    VBA 편집기에서 F2키를 누르면 라이브러리 목록이 실행됩니다. 그리고 검색창에 xlSortOrder를 검색하면 SortOrder 와 관련된 개체를 확인할 수 있습니다. 이외에도 라이브러리 창을 통해서 엑셀에서 사용되는 모든 개체/클래스를 확인할 수 있습니다.

    워나 종류가 많기 때문에.. 저도 자주 사용하는 것만 외우고, 나머지는 필요할 때마다 구글링해서 관련 자료 검색 후 사용하고 있습니다.

    답변이 도움이 되셨길 바랍니다. 감사합니다.

     


    • 2021-01-05 21:11

      답변 감사합니다.

      제가 글을 너무 길게써서 그런지 답변 안해주신 2가지만 더 묻겠습니다.

      https://docs.microsoft.com/en-us/office/vba/api/excel.hyperlinks.add

      에서도 찾아보고 VBA창에서 F2로도 찾아봤지만 Hyperlinks의 변수로

      Anchor, Address, SubAddress, ScreenTip, TextToPlay 이 있는데

      Address에 대한 설명이 없더라구요...

      목차만들기 강의에서는

      .Hyperlinks.Add anchor:=.Cells(x+5 ,3), Address:="", SubAddress:= " ' " & CStr(vaArr(i)) & "'!A1", TextToDisplay:= vaArr(i)

      라고 해주셔서

      anchor, SubAddress, TextToDisplay, ScreenTip는 링크와 목차강의를 조합해서 무슨 인수인지 이해했습니다.

      그런데 Address인수를 모르겠습니다.

      Address가 어떤 인수인지를 모르닌까 왜 빈칸인지 모르겠습니다.

      두번째 질문

      다른분의 글의 댓글에 첨부되어있는 파일에 있는 VBA를 공부하던 중

      Function Dupli(Cel As Range, RgB As Range) As String

      이라고 적혀있는 코드를 봤습니다.

      이렇게 되면 Cel과 RgB는 Range변수가 되고 Dupli는 String변수가 되는건가요...?


      • 2021-01-06 08:49

        안녕하세요.

        1)

        Address 는 실제 링크 (웹주소, 이메일주소)가 입력되고, SubAddress 에는 셀참조가 입력됩니다.

        두 인수를 동시에 사용할 수는 없습니다. 따라서 SubAddress를 사용했으니, Address를 빈칸으로 입력한 것 입니다. 🙂

        2)

        Dupli 함수로 들어가는 두 인수 (Cel 과 RgB)는 범위로 입력해야 되고, Dupli 함수의 결과값으로는 String이 반환되는 것 입니다.

        답변이 도움이 되셨길 바랍니다. 🙂


        • 2021-01-06 18:49

          답변 감사합니다

          언제나 좋은 강의 감사합니다.

          예전강의부터 다시보기 시작해서 요즘 라이브강의 재고관리까지 보고있는데 기초부분이 약해서 코드하나하나 뜯어보면서 열심히 공부하고있는데 아직부족하네요.

          열심히 따라가보겠습니다.

          그리고 막힐때마다 자주 물어보겠습니다ㅎ

          감사합니다


  • 2021-01-05 10:45

    역시 ㅠ.ㅠ 엑신 오빠두엑셀님 ㅠ.ㅠ


전체 2,160
번호 카테고리 제목 작성자 작성일 추천 조회
2152 VBA
New 다른 시트에 있는 VBA 코드(적용), 해당 시트 수정 시 전체 Sheet VBA 실행 방법 문의 드립니다. 첨부파일
주유 | 21:21 | 추천 0 | 조회 9
주유 21:21 0 9
2151 VBA
New 오버플로 뜨는 이유와 해결책 첨부파일 (1)
iviolin**** | 18:00 | 추천 0 | 조회 14
iviolin**** 18:00 0 14
2150 함수/공식
New 범위를 지정한 경우의 범위값의 합계 내는 방법 (2)
수에이드 | 14:42 | 추천 0 | 조회 19
수에이드 14:42 0 19
2149 VBA
New VBA 셀병합 코드 수정 부탁드림니다.
이하늘 | 10:59 | 추천 0 | 조회 22
이하늘 10:59 0 22
2148 VBA
New 특정 정보에 연동된 내용을 웹에서 크롤링할 수 있나요..? (1)
robot**** | 04:53 | 추천 0 | 조회 24
robot**** 04:53 0 24
2147 파워쿼리/피벗
New 회사 웹 페이지 데이터 엑셀에 연동시키기 (1)
까비깨비도깨비 | 03:36 | 추천 0 | 조회 30
까비깨비도깨비 03:36 0 30
2146 함수/공식
New 조건부 서식 함수 문의 (2)
최정용 | 02:35 | 추천 0 | 조회 31
최정용 02:35 0 31
2145 기능/도구
New 엑셀 창 크기가 어떠한 경우에도 페이지 전체를 볼수 있는 법이 있을까요? (1)
naver_600b087e6a876 | 02:20 | 추천 0 | 조회 20
naver_600b087e6a876 02:20 0 20
2144 함수/공식
New 함수문의 (1)
ot**** | 2021.01.22 | 추천 0 | 조회 28
ot**** 2021.01.22 0 28
2143 VBA
New winhttp.winHttpRequest.5.1 , 쿠키와 Jsession을 둘다 사용하기 (3)
까미 | 2021.01.22 | 추천 0 | 조회 24
까미 2021.01.22 0 24
2142 함수/공식
New 새로운 달이 나오면 번호가 1부터 매겨지게 하는 방법 첨부파일 (2) 답변완료
블링블링 | 2021.01.22 | 추천 0 | 조회 38
블링블링 2021.01.22 0 38
2141 VBA
New .Delete 후 셀병합이 있을경우 확인창 않나오게 하기 (1) 답변완료
이하늘 | 2021.01.22 | 추천 0 | 조회 19
이하늘 2021.01.22 0 19
2140 VBA
New .Delete 뒤에 옵션 이 있나요? (4) 답변완료
이하늘 | 2021.01.22 | 추천 0 | 조회 22
이하늘 2021.01.22 0 22
2139 기능/도구
New 엑셀 표(Table)에서 절대참조 방법? (1)
Elvin Lee | 2021.01.22 | 추천 0 | 조회 21
Elvin Lee 2021.01.22 0 21
2138 VBA
New 확인란 / 옵션 단추 박스를 눌렀을 때 연결된 시트가 출력 되게 할 수 없을까요?
테일즈 | 2021.01.22 | 추천 0 | 조회 19
테일즈 2021.01.22 0 19
2137 함수/공식
New 다른 시트에서 값을 불러오는 함수 (2)
robot**** | 2021.01.22 | 추천 0 | 조회 24
robot**** 2021.01.22 0 24
2136 함수/공식
New iferror 사용목적? (4)
요시 | 2021.01.22 | 추천 0 | 조회 37
요시 2021.01.22 0 37
2135 함수/공식
New 엑셀 테이블 자동입력관련 (1)
beamwork | 2021.01.22 | 추천 0 | 조회 36
beamwork 2021.01.22 0 36
2134 함수/공식
New 엑셀로 신규거래업체 걸러낼수 있을까요? (3)
dasdas | 2021.01.22 | 추천 0 | 조회 27
dasdas 2021.01.22 0 27
2133 VBA
New 시트 다른 엑셀파일로 시트복사 (2)
이하늘 | 2021.01.22 | 추천 0 | 조회 25
이하늘 2021.01.22 0 25
2132 함수/공식
New 0을 제외하고 값 비교하기 (1)
유빈 | 2021.01.22 | 추천 0 | 조회 27
유빈 2021.01.22 0 27
2131 VBA
New 데이터베이스 변경시 시트 실시간 새로고침 (2) 답변완료
vaipor | 2021.01.22 | 추천 0 | 조회 18
vaipor 2021.01.22 0 18
2130 VBA
New TextJoin 대체 함수 VBA 작성법좀 도와주세요. (2) 답변완료
옛꼬망 | 2021.01.22 | 추천 0 | 조회 23
옛꼬망 2021.01.22 0 23
2129 피벗테이블
New (스핀단추 연동) 피벗 테이블 자동 업데이트 문의 첨부파일 (1)
윤주부 | 2021.01.22 | 추천 0 | 조회 24
윤주부 2021.01.22 0 24
2128 VBA
New 셀선택 프로시저인데 뭐가 잘못된거죠??? (3) 답변완료
이하늘 | 2021.01.22 | 추천 0 | 조회 21
이하늘 2021.01.22 0 21
2127 기능/도구
New 엑셀 하이퍼링크 보안 제거 방법 첨부파일 (3)
hjy**** | 2021.01.21 | 추천 0 | 조회 35
hjy**** 2021.01.21 0 35
2126 함수/공식
New 일자 및 총매출액 변동시 타sheet에 일자, 총매출액 자동추가되는 방법 첨부파일 (2)
마운틴 | 2021.01.21 | 추천 0 | 조회 33
마운틴 2021.01.21 0 33
2125 VBA
New 셀선택영역 vba 질문입니다. (5) 답변완료
이하늘 | 2021.01.21 | 추천 0 | 조회 40
이하늘 2021.01.21 0 40
2124 차트/그래프
New 상위10위 제품 그래프, 한눈에 깔끔하게 만드는 방법 첨부파일 (2) 답변완료
눈물젖은빵 | 2021.01.21 | 추천 0 | 조회 45
눈물젖은빵 2021.01.21 0 45
2123 함수/공식
New 엑셀 함수 관련 질문드립니다.(vlookup 내림차순 ?, 중복된 값 하나만 나타내기 ?) (1)
흙콩 | 2021.01.21 | 추천 0 | 조회 44
흙콩 2021.01.21 0 44