데이터를 복사하여 다른 통합 문서에 붙여넣는 매크로 만들기

데이터를 복사하여 다른 통합 문서에 붙여넣는 매크로 만들기

두 개의 통합 문서가 있습니다. 하나는 이메일을 통해 전송되며 날짜(예: 11/01/10부터 11/30/10)로 채워진 열이 있는 차트가 있습니다. 해당 날짜의 차트는 데이터 행으로 채워집니다.

두 번째 통합 문서에는 날짜가 입력된 열이 포함된 차트가 있습니다. 도움이 필요한 것은 workbook2의 날짜를 보고 해당 날짜를 workbook1과 일치시키고 전자 메일을 통해 보낸 다음 workbook1의 데이터 행을 복사하여 동일한 날짜가 있는 행의 workbook2에 행을 붙여넣는 매크로를 만드는 것입니다. . 매크로를 만든 적이 없으므로 도움을 주시면 대단히 감사하겠습니다.

답변1

VLOOKUP이 경우에는 매크로보다 수식이 더 쉬울 것이라고 생각합니다 . 열 아래에 수식을 채운 후 COPY & PASTE.Values를 수행하여 수식을 제거합니다.

VLOOKUP 예에서 편집됨: 통합 문서의 날짜 표를 이메일로 받은 통합 문서의 날짜와 동일하게 만들어야 합니다. 상황에 맞게 다음을 조정하십시오.

A1 = 이메일에서 값을 원하는 테이블의 조회 값(날짜?)입니다. [Example.xlsx] = 이메일로 보낸 통합 문서 Sheet1
의 이름입니다 !
= 데이터 테이블이 있는 이메일로 보낸 통합 문서의 스프레드시트 이름
$A$1:$B$30 = 이메일로 보낸 통합 문서의 전체 데이터 범위
2 = 반환을 받고 싶은 데이터 범위의 열 (A와 B의 열 2)의 값
FALSE = 이메일 데이터의 조회 값과 정확히 일치하는 값을 원합니다.

=VLOOKUP(A1,[Example.xlsx]Sheet1!$A$1:$B$30,2,FALSE)

그러나 하나의 통합 문서를 데이터 수신용 템플릿으로 유지하지 않는 경우 간단하게 유지하려면 다음이 작동합니다. 템플릿 통합 문서의 모듈에 배치하고 저장하면 됩니다. 새 이메일을 받으면 템플릿을 열고 이메일 통합 문서를 연 다음 이메일 통합 문서에서 매크로를 활성화하세요.

코드의 가정:
1: 이메일로 전송된 통합 문서의 데이터는 셀 A1에서 시작됩니다.
2: 매크로/템플릿 통합 문서의 데이터는 셀 A1에서 시작됩니다.
이러한 가정 중 하나가 잘못된 경우 L1 및/또는 셀의 시작 값을 조정합니다. 객체(첫 번째 값 L1은 행이고 두 번째 숫자는 열입니다. A = 1)

Sub CopyData()
    Dim All As New Collection
    Dim One As Variant, L1 As Integer, L2 As Integer
    Dim TW As Workbook, EW As Workbook

    Set TW = ThisWorkbook
    Set EW = ActiveWorkbook

    L1 = 15
    Do Until Cells(L1, 2).Value = ""
        ReDim One(0 To 1)
        One(0) = Cells(L1, 2).Value
        One(1) = Cells(L1, 3).Value
        All.Add One
        Erase One
        L1 = L1 + 1
    Loop

    TW.Activate
    L1 = 15
    Do Until Cells(L1, 2).Value = ""
        For L2 = 1 To All.Count
            One = All(L2)
            If One(0) = Cells(L1, 2).Value Then
                Cells(L1, 3).Value = One(1)
                Erase One
                Exit For
            Else
                Erase One
            End If
        Next L2
        L1 = L1 + 1
    Loop
End Sub

관련 정보