시트의 값을 다른 시트로 복사하기

VBA
작성자
도티
작성일
2020-10-03 11:19
조회
56
안녕하세요. 많이 배우는 독자입니다.

VBA에서 질문있습니다. 첨부된 파일은 1월, 2월에 있는 값들을 "합계"라는 시트에 복사하는 VBA를 제작하고 있는데요.

중간에 오류가 나는데 어떻게 고쳐야 할지 잘 몰라서 여쭤봅니다.-_-;;;

제가 무엇을 잘못했을까요...?

 
전체 7

  • 2020-10-05 22:15

    첫번째 1월 시트는 복사가 되었고
    2월 시트 복사시 activate 되지 않은 시트 값 복사로 에러가 나네요. ^^;

     

    세가지를 추가해서 파일을 다시 올립니다.

     

    Sheets.Add(After:=Sheets(Sheets.Count)).Name = "합계"

    위 코드는 최초 실행시는 문제가 없으나
    합계 시트가 있는 경우에는 에러가 발생하게 됩니다.

    DeleteSheet 함수를 만들어서 호출하는 형태로 조정하였습니다.

    그리고,
    위에서 언급한 노란색 부분의 오류는
    앞에 한줄을 추가하여 해결하였습니다.

    Sheets(sh.Name).Select
    sh.Range(Cells(1, 1), Cells(행번호, 열번호)).Copy

     

    또한,
    올려주신 코드는
    합계 시트도 카운트하기 때문에 자신이 자신을 복사하는 형태가 발생합니다.
    아래와 같이 코드를 들여쓰기 합니다.

    If sh.Name <> "합계" Then
    '// do something

    end if

     

    결과적으로 아래의 코드가 됩니다.

    Sub 맨마지막에시트추가하고앞의시트값복사하기()

    Dim sh As Worksheet
    Dim 행번호 As Long
    Dim 열번호 As Long
    Dim i As Long

    If 0 Then
    Sheets.Add(After:=Sheets(Sheets.Count)).Name = "합계"
    Else
    Call DeleteSheet("합계")
    End If

    Sheets("1월").Activate

    For Each sh In ThisWorkbook.Worksheets

    행번호 = sh.UsedRange.Rows.Count
    열번호 = sh.UsedRange.Columns.Count

    If 0 Then
    sh.Range("a1", Cells(행번호, 열번호)).Copy Worksheets("합계").Range(Cells(i, 1))
    Else

    If sh.Name <> "합계" Then
    Sheets(sh.Name).Select
    sh.Range(Cells(1, 1), Cells(행번호, 열번호)).Copy
    Sheets("합계").Range("A1").PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    End If
    End If

    i = i + 행번호

    Next

    End Sub

    첨부파일 : 엑셀_오빠두질문_VBA코드추가v2.xlsm


    • 2020-10-06 12:23

      오류나던 부분이 사라졌네요~~^^ 감사합니다!!!!


    • 2020-10-03 18:03

      sh.Range("a1", Cells(행번호, 열번호)).Copy Worksheets("합계").Range(Cells(i, 1))

      위의 문장을 아래와 같이 조정해 보시죠.
      sh.Range(Cells(1, 1), Cells(행번호, 열번호)).Copy
      Sheets("합계").Range("A1").PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

      시트간 데이더 복사의 방법은 여러가지가 있습니다.
      - 값만, 수식만, 서식만 복사
      - 선택된 영역에서, 특정영역으로
      - 선택된 시트에서, 특정시트, 특정영역으로 등등

      ※ 개인적인 코드 습관일 수 있으나
      특별한 경우가 아니면, 형식지정 방식은 동일한 패턴으로 사용할 것으로 권장 드립니다.

      예) sh.Range("a1", Cells(행번호, 열번호))         ◀ 문자, 숫자를 조합한 위치 참조 병행
      sh.Range(cells(1,1), Cells(행번호, 열번호))   ◀ 숫자 형태로 일관성 있게 조정


      • 2020-10-04 01:34

        알려주신 내용 감사합니다. 그런데 알려주신대로 해봤는데 역시 에러가 나네요. sh.range(cells(1,1), cells(행번호, 열번호)).copy에서 계속 에러가 납니다.


        • 2020-10-04 09:41

          저는 sh.range(....)를 쓰면, for each 구문이 있기 때문에, 각각의 시트에서의 range가 복사될것이라고 기대하고 작성했었던것인데.. 이렇게 작성하면 안되나 보네요...ㅠㅠ


          • 2020-10-04 16:26

            엑셀에 있는 코드를 복사해서 확인하니 이상이 없는데 ^^;

            첨부 참조하세요.

             

            첨부파일 : 엑셀_오빠두질문_VBA코드추가.xlsm


            • 2020-10-04 19:31

              답변 감사합니다. 그런데 제 컴에서는 여전히 안되네요. '2월'시트의 값들이 복사되지 않고 동일한 문장에서 에러가 뜹니다. 혹시 엑셀에 뭔가 문제가 있는걸까요? .-_-; 그림으로 첨부합니다.

              에러.jpg


            전체 1,312
            번호 카테고리제목작성자작성일추천조회
            1307 함수/공식
            New 서식들어간 일자 concat 조합 첨부파일 (1)
            내뀨바라기 | 2020.10.19 | 추천 0 | 조회 12
            내뀨바라기2020.10.19012
            1306 함수/공식
            New 엑셀초보자입니다. if함수 수식좀 알려주세요... (1)
            이재똥 | 2020.10.19 | 추천 0 | 조회 13
            이재똥2020.10.19013
            1305 함수/공식
            New 안녕하세요 if함수 질문있습니다. (1)
            glass | 2020.10.19 | 추천 0 | 조회 13
            glass2020.10.19013
            1304 VBA
            New 안녕하세요 vba 크롤링 질문드립니다. (1)
            jaebe**** | 2020.10.19 | 추천 0 | 조회 13
            jaebe****2020.10.19013
            1303 함수/공식
            New 동일한 이벤트 가 발생한 기간을 표시하는 함수 구하는 방법 질문드립니다. 첨부파일 (3)
            몽골리용 | 2020.10.19 | 추천 0 | 조회 29
            몽골리용2020.10.19029
            1302 VBA
            New VBA를 이용하여 CSV 데이터를 정해진 서식에 입력할때의 방식 질문 (1)
            dpd**** | 2020.10.19 | 추천 0 | 조회 18
            dpd****2020.10.19018
            1301 문서서식
            New 조건부 서식으로 일치하지 않는 셀의 텍스트색 변환 (1)
            Border | 2020.10.19 | 추천 0 | 조회 29
            Border2020.10.19029
            1300 함수/공식
            New 선배님들 제발 도와주십시요.. 첨부파일 (2)
            장전동오니기리 | 2020.10.18 | 추천 0 | 조회 51
            장전동오니기리2020.10.18051
            1299 함수/공식
            New 원데이터에서 다중조건을 추출해서 평균을 구하는 함수는 어떻게 써야하나요? 첨부파일 (3)
            2020WorldChampionLAD | 2020.10.17 | 추천 0 | 조회 44
            2020WorldChampionLAD2020.10.17044
            1298 함수/공식
            New 방대한 데이터 정리 문의 드립니다! (2)
            포뇨 | 2020.10.17 | 추천 0 | 조회 53
            포뇨2020.10.17053
            1297 함수/공식
            일정관리 불러오는 함수 첨부파일 (6)
            오제 경기의왕 | 2020.10.16 | 추천 0 | 조회 62
            오제 경기의왕2020.10.16062
            1296 피벗테이블
            공정별 날짜별 작업인원 수를 표시할려고하는데 도움이 필요합니다. (1)
            casanova | 2020.10.16 | 추천 0 | 조회 45
            casanova2020.10.16045
            1295 차트/그래프
            오빠두엑셀 선생님 질문드립니다. 첨부파일 (1)
            rpaq**** | 2020.10.15 | 추천 0 | 조회 60
            rpaq****2020.10.15060
            1294 VBA
            참조 셀 추가 (1)
            써머데이즈 | 2020.10.15 | 추천 0 | 조회 42
            써머데이즈2020.10.15042
            1293 VBA
            질문있습니다!! - 시트 범위 새로운 통합문서 저장 방법 (2)
            미르 | 2020.10.15 | 추천 0 | 조회 43
            미르2020.10.15043
            1292 기능/도구
            표에 새로운 행 추가 시 수식 자동채움이 안되요! 첨부파일 (1)
            엑셀킹이될남자 | 2020.10.15 | 추천 0 | 조회 28
            엑셀킹이될남자2020.10.15028
            1291 함수/공식
            안녕하세요 선생님 (달력 관련 질문드리겠습니다.) (2)
            변소 | 2020.10.14 | 추천 0 | 조회 51
            변소2020.10.14051
            1290 함수/공식
            이미지 불러오기 첨부파일 (2)
            돌채 | 2020.10.14 | 추천 0 | 조회 38
            돌채2020.10.14038
            1289 VBA
            안녕하세요 vba 질문드립니다. (1)
            jaebe**** | 2020.10.14 | 추천 0 | 조회 50
            jaebe****2020.10.14050
            1288 차트/그래프
            대중소 콤보박스 이름관리자 문의 첨부파일 (1)
            닉네임 | 2020.10.14 | 추천 0 | 조회 37
            닉네임2020.10.14037
            1287 VBA
            VBA Library(참조) 버전문제 (2)
            SMPS | 2020.10.14 | 추천 0 | 조회 40
            SMPS2020.10.14040
            1286 함수/공식
            특정 문자에 따라 특정 셀을 반환 (3)
            써머데이즈 | 2020.10.14 | 추천 0 | 조회 40
            써머데이즈2020.10.14040
            1285 함수/공식
            엑셀 초보자 문의 첨부파일 (7)
            미성 | 2020.10.14 | 추천 1 | 조회 53
            미성2020.10.14153
            1284 함수/공식
            textjoin 함수 질의 드립니다. 첨부파일 (1)
            It is Database | 2020.10.14 | 추천 0 | 조회 35
            It is Database2020.10.14035
            1283 피벗테이블
            피벗테이블 DATA 버그?? 가 있는거 같아요 첨부파일 (2)
            stayhumble | 2020.10.14 | 추천 0 | 조회 34
            stayhumble2020.10.14034
            1282 차트/그래프
            간트차트 가로 축이 변경이 안됩니다. 첨부파일 (1)
            손님 | 2020.10.14 | 추천 0 | 조회 32
            손님2020.10.14032
            1281 기능/도구
            셀서식 오류 해결방법 (1)
            혜나 | 2020.10.14 | 추천 0 | 조회 34
            혜나2020.10.14034
            1280 함수/공식
            VLOOKUP 여러값 반환(가로) - 일괄 채우기 하고 싶습니다. (1)
            임다혜 | 2020.10.13 | 추천 0 | 조회 54
            임다혜2020.10.13054
            1279 VBA
            크롤링 관련 문의 드립니다. (2)
            곰몽 | 2020.10.13 | 추천 0 | 조회 65
            곰몽2020.10.13065
            1278 VBA
            엑셀 로그인 양식 (파일 보안 및 접근권한 제어) 파일문의 (1)
            깡뚜 | 2020.10.13 | 추천 0 | 조회 45
            깡뚜2020.10.13045