한 Excel 통합 문서에서 다른 Excel 통합 문서로 특정 열 (약 250 개) 마이그레이션

하 세프

한 통합 문서에서 다른 통합 문서로 데이터 마이그레이션. 새 통합 문서에서는 특정 열 (거의 250 개) 만 원합니다. 마스터 파일의 데이터가 일치하지 않고 동일한 범위에 있지 않은데 어떻게 250 개의 열을 추출 할 수 있습니까? 나는 VBA를 처음 사용하기 때문에 아래 코드를 시도했지만 작동하지만 250 열 모두에 대해 긴 코드를 작성해야합니까? 어떤 도움이라도 대단히 감사하겠습니다.

Sub Data_Migration()

Dim y As Workbook
Dim x As Workbook
Dim ws As Worksheet
Dim sh As Worksheet
Dim rng As Range
Set y = ThisWorkbook
Application.ScreenUpdating = 0



Set x = Workbooks.Open("file path")
 'Column Q from master file with worksheet name cba is copied in new workbook with sheet name abc and pasted in column D
Set ws = y.Sheets("abc")
Set sh = x.Sheets("cba")
Set rng = sh.Range("Q2:Q11443") 
rng.Copy
y.Sheets("abc").Range("D1").PasteSpecial xlValues
Application.CutCopyMode = False


Set ws = y.Sheets("abc")
Set sh = x.Sheets("cba")
Set rng = sh.Range("Z2:Z11443") 
rng.Copy
y.Sheets("abc").Range("E1").PasteSpecial xlValues
Application.CutCopyMode = False


Set ws = y.Sheets("abc")
Set sh = x.Sheets("cba")
Set rng = sh.Range("AI2:AI11443") 
rng.Copy
y.Sheets("abc").Range("F1").PasteSpecial xlValues
Application.CutCopyMode = False

x.Close
End sub
Variatus

다음 코드를 표준 코드 모듈에 붙여 넣습니다 (기본적으로 'Module1'이지만 원하는대로 이름을 지정할 수 있음).

Sub Main()
    ' 21 Mar 2017

    Dim WsS As Worksheet                        ' S = Source
    Dim WbT As Workbook, WsT As Worksheet       ' T = Target
    Dim Cs As Long, Ct As Long                  ' Column numbers: Source & Target
    Dim Clms As Variant
    Dim i As Integer                            ' index for Clms

    Application.ScreenUpdating = False
    On Error GoTo ErrExit
    ' Source is the first worksheet in the active workbook:
    Set WsS = ActiveWorkbook.Worksheets("Haseev")
    Set WbT = Workbooks.Add(xlWBATWorksheet)
    Set WsT = WbT.Worksheets(1)
    WsT.Name = "Extract 250"                    'name the target sheet

    Clms = Array(1, 4, 8, 13)                   ' list column numbers < 17
    For i = 0 To UBound(Clms)
        CopyColumn WsS, WsT, Clms(i), Ct
    Next i

    For Cs = 17 To Columns("CHU").Column Step 9
        CopyColumn WsS, WsT, Cs, Ct
''''        If Ct > 10 Then Exit For
    Next Cs
ErrExit:
    Application.ScreenUpdating = True
End Sub

코드 이해 :-현재 활성 통합 문서를 "소스"로 만듭니다. 즉, 데이터를 복사하려는 통합 문서를 확인해야합니다. 코드는이 통합 문서에서 "Haseev"라는 이름의 워크 시트를 찾을 것으로 예상합니다. 코드의 이름을 변경하거나 전체 코드 줄을 다음과 같이 변경하십시오.

Set WsS = ActiveWorkbook.Worksheets(1)

이는 통합 문서의 첫 번째 워크 시트를 지정합니다. 이는 귀하의 것과 같은 큰 통합 문서에 시트가 너무 많지 않을 가능성이 높기 때문에 합리적입니다.

이 코드는 단일 시트가 포함 된 새 통합 문서를 만듭니다. 시트 이름은 "Extract 250"입니다. 코드의 이름을 원하는 이름으로 변경하십시오. 다음으로 코드는 선택한 열을 새 통합 문서에 복사합니다.

Clms = Array(1, 4, 8, 13)

복사 할 열을 지정할 수 있습니다 (필요한만큼 쉼표로 구분 된 숫자). 원하지 않는 경우 Clms = Array ()와 같이 사양을 비워 두십시오.

다음 루프에서는 열 17에서 시작하여 "CHU"열까지 9 번째 열마다 복사됩니다. "CHU"를 수정할 수 있습니다. 라인

''''        If Ct > 10 Then Exit For

내 테스트에서 남은 것입니다. 동일한 목적으로 사용하는 것이 좋습니다. 코드를 비활성화하는 아포스트로피를 제거하면 10 개의 열이 새 통합 문서에 복사 된 후 루프가 복사를 중지합니다.

위 코드에는 복사 또는 붙여 넣기가 포함되어 있지 않습니다. 대신 위에서 이미 복사 한 Main 프로 시저 아래에 붙여 넣어야하는 다음 하위를 호출합니다.

Private Sub CopyColumn(WsS As Worksheet, _
                       WsT As Worksheet, _
                       ByVal Cs As Long, _
                       Ct As Long)
    ' 21 Mar 2017
    ' Ct is a return Long

    If Cs > 0 Then              ' column number must be > 0
        Ct = Ct + 1
        WsS.Columns(Cs).Copy Destination:=WsT.Columns(Ct)
    End If

End Sub

기본적으로 Main 프로시 저는이 서브가 호출 될 250 회 이상을 관리합니다.

출력 통합 문서에는 "Sheet1"과 같이 Excel에서 제공하는 일반 이름이 있습니다. 원하는 이름으로 저장하거나 닫고 다음에보고 싶을 때 새로 만들 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

한 통합 문서에서 다른 통합 문서로 Excel VBA 붙여 넣기 특수 분리 범위

분류에서Dev

C # Excel 통합 문서에서 동일한 데이터를 제공하는 두 개의 Excel 통합 문서 프로젝트 설정

분류에서Dev

Excel 통합 문서가 이전 버전에서 열립니다.

분류에서Dev

여러 Excel 통합 문서에서 다른 Excel 통합 문서로 데이터 복사

분류에서Dev

Excel VBA에서 개체 이름을 지정하여 다른 시트 / 통합 문서에 복사 한 후에 선택할 수 있습니다.

분류에서Dev

Excel-한 통합 문서에서 다른 통합 문서로 모든 시트를 복사하는 방법

분류에서Dev

한 통합 문서에서 다른 통합 문서로 문자열이 포함 된 행 복사

분류에서Dev

Excel-다른 통합 문서의 특정 시트에서 데이터 가져 오기

분류에서Dev

Excel 파일을 사용하여 URL의 특정 통합 문서에서 데이터 다운로드

분류에서Dev

한 통합 문서에서 다른 통합 문서로 열 복사

분류에서Dev

Excel의 다른 세션에 통합 문서를 저장하는 Excel 매크로

분류에서Dev

VBA Excel : 다른 통합 문서에서 문자열을 찾는 함수

분류에서Dev

새 Excel 통합 문서의 열 이름 설정

분류에서Dev

런타임에 다른 행에서 Excel 통합 문서로로드 할 특정 행을 선택하는 방법

분류에서Dev

Excel VBA : 다른 통합 문서의 열에있는 데이터 계산 및 마스터 통합 문서에 카운터 입력

분류에서Dev

VBA를 사용하여 개인 통합 문서 매크로로 다른 Excel 파일 열기

분류에서Dev

한 통합 문서에서 다른 통합 문서로 데이터 복사

분류에서Dev

VBScript 검색 Excel 통합 문서에서 다른 통합 문서의 값 찾기

분류에서Dev

Excel 통합 문서의 데이터를 다른 통합 문서의 데이터로 업데이트

분류에서Dev

서로 다른 두 Excel 통합 문서의 열을 비교하는 방법

분류에서Dev

Openpyxl-Excel 통합 문서의 데이터를 다른 문서에 추가

분류에서Dev

R을 통해 가져온 Excel 통합 문서의 특정 열을 보호 (또는 다시 보호) 유지

분류에서Dev

Excel-VBA를 사용하여 여러 통합 문서의 데이터를 요약 통합 문서로 복사합니다. 런타임 오류

분류에서Dev

다른 통합 문서의 VBA에서 Excel 워크 시트 서식 지정

분류에서Dev

다른 통합 문서에서 특정 통합 문서의 시트 이름을 검색하고 처음 세 열을 후자에서 전자로 복사

분류에서Dev

PC를 켤 때마다 자동으로 열리는 Excel 통합 문서

분류에서Dev

EXCEL VBA : 통합 문서에서 다른 위치의 다른 통합 문서로 시트 복사

분류에서Dev

다른 통합 문서를 열면 Excel 사용자 정의 함수가 0으로 평가됩니다.

분류에서Dev

한 시트에서 다른 통합 문서로 열 복사

Related 관련 기사

  1. 1

    한 통합 문서에서 다른 통합 문서로 Excel VBA 붙여 넣기 특수 분리 범위

  2. 2

    C # Excel 통합 문서에서 동일한 데이터를 제공하는 두 개의 Excel 통합 문서 프로젝트 설정

  3. 3

    Excel 통합 문서가 이전 버전에서 열립니다.

  4. 4

    여러 Excel 통합 문서에서 다른 Excel 통합 문서로 데이터 복사

  5. 5

    Excel VBA에서 개체 이름을 지정하여 다른 시트 / 통합 문서에 복사 한 후에 선택할 수 있습니다.

  6. 6

    Excel-한 통합 문서에서 다른 통합 문서로 모든 시트를 복사하는 방법

  7. 7

    한 통합 문서에서 다른 통합 문서로 문자열이 포함 된 행 복사

  8. 8

    Excel-다른 통합 문서의 특정 시트에서 데이터 가져 오기

  9. 9

    Excel 파일을 사용하여 URL의 특정 통합 문서에서 데이터 다운로드

  10. 10

    한 통합 문서에서 다른 통합 문서로 열 복사

  11. 11

    Excel의 다른 세션에 통합 문서를 저장하는 Excel 매크로

  12. 12

    VBA Excel : 다른 통합 문서에서 문자열을 찾는 함수

  13. 13

    새 Excel 통합 문서의 열 이름 설정

  14. 14

    런타임에 다른 행에서 Excel 통합 문서로로드 할 특정 행을 선택하는 방법

  15. 15

    Excel VBA : 다른 통합 문서의 열에있는 데이터 계산 및 마스터 통합 문서에 카운터 입력

  16. 16

    VBA를 사용하여 개인 통합 문서 매크로로 다른 Excel 파일 열기

  17. 17

    한 통합 문서에서 다른 통합 문서로 데이터 복사

  18. 18

    VBScript 검색 Excel 통합 문서에서 다른 통합 문서의 값 찾기

  19. 19

    Excel 통합 문서의 데이터를 다른 통합 문서의 데이터로 업데이트

  20. 20

    서로 다른 두 Excel 통합 문서의 열을 비교하는 방법

  21. 21

    Openpyxl-Excel 통합 문서의 데이터를 다른 문서에 추가

  22. 22

    R을 통해 가져온 Excel 통합 문서의 특정 열을 보호 (또는 다시 보호) 유지

  23. 23

    Excel-VBA를 사용하여 여러 통합 문서의 데이터를 요약 통합 문서로 복사합니다. 런타임 오류

  24. 24

    다른 통합 문서의 VBA에서 Excel 워크 시트 서식 지정

  25. 25

    다른 통합 문서에서 특정 통합 문서의 시트 이름을 검색하고 처음 세 열을 후자에서 전자로 복사

  26. 26

    PC를 켤 때마다 자동으로 열리는 Excel 통합 문서

  27. 27

    EXCEL VBA : 통합 문서에서 다른 위치의 다른 통합 문서로 시트 복사

  28. 28

    다른 통합 문서를 열면 Excel 사용자 정의 함수가 0으로 평가됩니다.

  29. 29

    한 시트에서 다른 통합 문서로 열 복사

뜨겁다태그

보관