엑셀 VBA #27 / 배열 [VBA]

Поделиться
HTML-код
  • Опубликовано: 11 ноя 2024

Комментарии • 25

  • @시베키푼이
    @시베키푼이 Год назад

    오...최고입니다
    이해가 쏙쏙되네요
    항상 배열과 포인터에 대해 볼때만 이해되고 쓰려고하면 헷갈리고 그러던데
    귀에 쏙쏙들어옵니다^^

  • @key692
    @key692 2 года назад +1

    감사합니다^^ 어렵지만 꾸역꾸역 배워나가고 있습니다^^

    • @엑셀디자인
      @엑셀디자인  2 года назад

      영상을 보시면서 학습하시고
      나의 실무 파일에 적용해보셔야 잊어버리지도 않고
      나의 실력으로 차곡차곡 쌓이더군요.
      꾸역꾸역...이 조만간 반짝반짝이 될겁니다.
      화이팅입니다!

  • @베짱이-h6s
    @베짱이-h6s 5 лет назад +2

    좀 더 빨리 알았더라면 아쉬움이 많이 남네요 ^^. 항상 즐겨 보고 있습니다.

  • @임대혁-h6o
    @임대혁-h6o Год назад +1

    좋은 강의 감사드립니다. 한가지 질문 드립니다. 2차원 배열일때 arr(행,1번째열)의 자료와 arr(행,2번째열) 자료를 각각 특정 셀들에 입력 할수 있을까요?
    For i = 1 To UBound(arr, 1)
    Range("A1").Offset(i, 0).Value = arr(i, 1)
    Range("A1").Offset(i, 1).Value = arr(i, 2)
    Next i
    이렇게 해야 하는 방법은 생각나느데, 시간이 엄청 걸리네요..ㅠㅠ 시간도 줄일수 있는 방법 있으면 가르침 부탁드립니다.

  • @freebird7556
    @freebird7556 3 года назад

    차분한 핵심 강의로 너무 잘 배웠습니다. 너무 너무 감사합니다.

  • @엑셀사랑해
    @엑셀사랑해 Год назад

    dim a() 뒤에 as 변수 없어도 컴파일 오류가 나질 않던데, 배열함수라서 as long, string 등을 쓰지 않는 것인가요? 강의 늘 감사합니다~!

  • @ucj5473
    @ucj5473 3 года назад

    좋은 강의 감사드립니다! 반복문과 배열이 비슷한 느낌이 있는 것 같아 두 가지의 공통점과 차이점이 무엇인지 알려주시면 감사하겠습니다!

    • @엑셀디자인
      @엑셀디자인  3 года назад

      반복문 안에서 배열을 써서 두 개가 비슷해 보입니다만
      서로 다른 개념입니다.
      1. 반복문:
      학습자 20명의 토익 점수를 판단해서 A, B, C, D 네 개의 학점을 주고 싶다.
      조건문을 사용해서
      If 학습자 >= 900 then
      "A"
      Elseif 학습자 >= 800 then
      "B"
      블러블러..
      위의 조건문을 20번을 반복해서 돌려야
      20명의 토익점수에 대한 학점이 출력되겠지요.
      이 때, 20번 루프를 돌리는 구문을 '반복문' 이라고 합니다.
      2. 배열:
      변수(일반변수)는 기본적으로 한 방에 하나의 값만 저장이 됩니다.
      그 방을 파티션 분할해서 여러 개 방으로 나누고
      그 나뉜 방에 값을 하나씩 넣게 되면
      겉으로 봤을 때는 하나의 방처럼 보이지만
      내부적으로는 수 많은 나뉘어진 방에 값을 많이 넣을 수 있으므로
      값을 읽고 처리하는 속도가 현저히 빨라집니다.
      이것을 배열변수라 하고
      보통 '배열'이라고 편하게 부릅니다.

  • @가나다-y1y
    @가나다-y1y 5 лет назад

    사소한 질문이 있습니다.
    영상의 6:00에 보면
    Dim aa()
    Dim i as long, cnt as long 이라고 나오는데요.
    그냥 한줄로
    Dim aa()
    , i as long, cnt as long 라고 하면 안되나요?
    유익한 영상에 감사드려요.

    • @엑셀디자인
      @엑셀디자인  5 лет назад +1

      네. 그러셔도 전혀 문제 없습니다.
      이 부분은 개인적 코딩 습관입니다.
      저는 같은 타입끼리 묶어서 씁니다.
      그래야 변수가 많을 때 찾기가 쉽거든요.^^
      절대 사소한 부분이 아닌
      세심하고 훌륭한 질문이십니다.♡

  • @leepete0
    @leepete0 4 года назад

    질문이 하나있습니다 혹시 배열에 값을 넣는것이 아니라 그 셀에있는 수식을 넣고 불러올수없을 까요?
    지금 원시트에서 타시트의 단가들을 들고오도록 되어있는데 배열로 정리하니 단가 물려있는 =수식이 없어지고 값만 남아있어서요

    • @엑셀디자인
      @엑셀디자인  4 года назад

      배열로 가져오면 값만 가져오지요.
      일단 배열로 원하는 영역에 데이터를 뿌린 후,
      수식을 넣는게 어떻겠습니까.
      '엑셀 데이터처리 #15' 영상을 참고하세요.
      하지만 수식을 직접 입력하는 방식은
      데이터가 많으면 처리속도가 떨어집니다.
      어떤 수식인지는 모르지만
      워크시트 함수를 쓸 수 있는 상황이라면 함수로도 테스트해보세요.
      application.worksheetfunction.sum(계산범위)

  • @이광효-z8r
    @이광효-z8r 4 года назад

    erase구문은 동적배열이 차지하는 공간이 클때 처리속도를 높이기 위해 쓰는 건가요?

    • @엑셀디자인
      @엑셀디자인  4 года назад +1

      네, 맞습니다.
      메모리에서 비워내는 동작입니다.
      보통 잘 만들어진 프로시저를 보면
      프로시저를 빠져 나가기 직전
      'Erase 배열변수'를 써서 메모리를 비우면서 처리속도를 높이는 효과를 내는 거지요.
      동적배열의 공간이 작아도
      프로시저 빠져 나가기 전
      배열이나 개체변수를 reset해주는 것이
      아주 바람직한 코딩 습관입니다.

  • @Hello-Annyeong
    @Hello-Annyeong 4 года назад

    선생님 배열 개념을 조금씩 터득하고 있습니다. 감사합니다
    질문이 있는데 영상에서 동적배열 aa(i) 가 배열로 {0,1,2}값을 가지고 있는것같습니다.
    이걸 시트 a1:c1에 뿌리려면 어떤 코드를 써야할까요 ?
    그리고 for each 문도 셀각각의 내용을 하나씩 핸들링 할수 있는 개념인것 같은데 배열도 비슷한 것같아서 개념상 좀 헷갈립니다.
    단순히 for next 중첩으로 코딩을 만들었는데 row data 가 5만개를 넘어가니 매우 버벅거려서 정말 속도 개선이 필요합니다.
    매우 절실합니다.
    선생님 도움 부탁드립니다 ㅠㅠ
    그럼에도 여기까지 올 수있게 강의 만들어주셔서 너무 감사합니다!

    • @Hello-Annyeong
      @Hello-Annyeong 4 года назад

      선생님 혹시 실례가 안된다면 위 메일주소로 제가 만든 파일을 보내드려서 질문을 드려도 괜찮을까요 ?

    • @엑셀디자인
      @엑셀디자인  4 года назад +1

      @@Hello-Annyeong 오~~ vba로 자동화해서 업무에 적용하시고 계시군요. 멋지십니다!!!!
      네. 메일로 보내줘 보세요.

    • @Hello-Annyeong
      @Hello-Annyeong 4 года назад

      @@엑셀디자인 와 선생님! 댓글 달아주셨었군요! 제겐 이상하게 알림이 안떠서 몰랐었어요 ㅠㅠ 지금은 어째저째 처리 속도조금 향상시켜서 하고는 있습니다. 나중에 선생님 수업때 찾아뵙고 질문드리고 싶습니다. 온라인이지만 마음써주심에 정말 감사합니다!

  • @conancho5680
    @conancho5680 4 года назад

    선생님, 강의하시는거 보면은 여러개를 드래그해서 한번에 주석처리하는 메뉴가 있던데, 저는 아무리 찾아봐도 없는데...알려주시면 감사하겠습니다.

    • @conancho5680
      @conancho5680 4 года назад

      찾았습니다. 편집을 밖으로 빼니가 메뉴가 나오네요...ㅎㅎ

    • @leepete0
      @leepete0 4 года назад

      질문이 하나있습니다 혹시 배열에 값을 넣는것이 아니라 그 셀에있는 수식을 넣고 불러올수없을 까요?
      지금 원시트에서 타시트의 단가들을 들고오도록 되어있는데 배열로 정리하니 단가 물려있는 =수식이 없어지고 값만 남아있어서요

    • @엑셀디자인
      @엑셀디자인  4 года назад

      그렇지요. 배열로 가져오면 값만 가져옵니다.
      배열로 가져와서 특정영역에 뿌린 후,
      수식을 넣으면 어떨까요?
      '엑셀 데이터처리 #15' 영상을 참고하시면 됩니다.
      하지만 데이터가 많다면
      수식을 직접 입력하는 방식은 처리속도가 떨어집니다.
      그 수식이 어떤 수식인지는 모르겠지만
      수식 대신 워크시트 함수를 사용하는 것도 테스트해보세요.
      applcation.worksheetfunction.sum(계산범위)

  • @ContacT_M
    @ContacT_M 5 лет назад

    ♡♡