나는 아래에 언급 된 코드에서 막혔다. 매번 변경 될 워크 시트 X2에서 Range("C4:C" & LastRow)
의 값을 얻으려고한다. 각 값을 열려있는 모든 통합 문서 이름과 비교하십시오. 일치하는 것이 발견되면 워크 시트 X1의 A 열에서 해당 값을 검색하고 모든 행을 복사하십시오.범위 값에 비슷한 이름을 가진 열린 통합 문서에 값을 붙여 넣기위한 VBA 코드
최종 목표는 같은 값을 가진 열려있는 통합 문서에 이러한 행을 붙여 넣는 것입니다. 예를 들어, Range C4가 TW00이면 코드는 이름이 "TW00.xlsx"인 통합 문서를 검색하고 TW00.xlsx라는 워크 시트의 열 A에 TW00 값을 갖는 워크 시트 X1의 모든 행을 복사합니다.
Dim BookNames()
ReDim BookNames(Windows.Count)
n = 1
For n = 1 To Windows.Count
BookNames(n) = Workbooks(n).Name
If Workbooks(n).Name = Workbooks("A.xlsx").Worksheets("X2").Range("C4:C" & LastRow).Value Then
Set Rng = Workbooks("A.xlsx").Worksheets("X1").Range("A2:A50000")
For Each c In Rng.Cells
If c.Value = Workbooks("A.xlsx").Worksheets("X2").Range("C4").Value Then
If Not CopyRng Is Nothing Then
Set CopyRng = Application.Union(CopyRng,
Workbooks("A.xlsx").Worksheets("X1").Rows(c))
Else
Set CopyRng = Workbooks("A.xlsx").Worksheets("X1").Rows(c)
End If
End If
Next c
CopyRng.Copy
Workbooks(n).Activate
Worksheets.Add
ActiveSheet.Name = "X1"
ActiveSheet.Paste
End If
Next n
데이터를 복사 할 때마다 새 워크 시트를 추가해야합니까? – brz
열려있는 통합 문서에 동일한 이름의 워크 시트가 있다는 것을 의미합니까? 통합 문서에 X1이라는 시트를 추가하고 붙여 넣은 것처럼 보입니다. – QHarr
새 워크 시트가 "A.xlsx"통합 문서에 추가되지 않지만 범위 ("C4")와 이름이 같은 열린 통합 문서에 새 워크 시트가 추가되고 있습니다. –