한 통합 문서에서 다른 통합 문서로 여러 셀(범위 내에 있지 않음) 복사

한 통합 문서에서 다른 통합 문서로 여러 셀(범위 내에 있지 않음) 복사

당신의 기사를 접했어요"한 시트에서 다른 시트로 여러 셀(범위 내에 있지 않음) 복사". VBA 매크로를 복사하여 붙여넣고 숨겨진 행의 셀을 참조하고 실행할 버튼을 할당했습니다. 동일한 통합 문서의 한 시트에서 다른 시트로 환상적으로 작동합니다. 내 문제는 한 통합 문서 sheet1(송장)에서 다른 통합 문서 sheet1(연령 미수금)로 복사해야 한다는 것입니다. 이를 위해 기존 VBA 코드를 조정할 수 있습니까?

내 범위에 맞게 VBA 매크로를 변경했습니다.

wks1.Cells(use_row,1) = wks.cells (50,1)
wks1.Cells(use_row,2) = wks.cells (50,2)
wks1.Cells(use_row,3) = wks.cells (50,3)
wks1.Cells(use_row,4) = wks.cells (50,4)
wks1.Cells(use_row,5) = wks.cells (50,5)
wks1.Cells(use_row,6) = wks.cells (50,6)

답변1

틀림없이. 수행해야 할 작업은 다른 통합 문서에 대한 참조(하위 변수)를 만들고 그 끝에서 수신 시트를 선택하는 것입니다.

이는 코드의 나머지 부분이 의존하는 처음 몇 개의 행을 대체하여 달성됩니다(사용자 고유의 수정 사항 포함).

Dim wkb As Workbook,wkb2 as workbook
Dim wks as worksheet, wks1 As Worksheet
Set wkb = ThisWorkbook ' Or workbooks("SourceWorkbook.xlsm") if it's saved.
set wkb2 = Workbooks("OtherWorkbook.xlsx")
Set wks = wkb.Sheets("Sheet1") ' Name references are a little clearer.
Set wks1 = wkb2.Sheets("Sheet1")

끝에 또 다른 "set wkb2 = Nothing"을 추가할 수도 있지만 이는 실제로 많은 작업을 수행하는 것보다 안전 예방 조치에 가깝습니다.

어쨌든 상대적으로 복잡한 기능이 필요한 경우 기본 vba에 대해 조금 읽어 보는 것이 좋습니다. 전체 루틴을 작성하는 것이 아니라면 최소한 직접 수정하는 것이 좋습니다. 예를 들어, 열이 순차적이므로 작성한 비트는 copypasta 대신 루프에서 수행될 수 있습니다.

관련 정보