_ 다른 통합 문서의 닫힌 파일에서 데이터를 추출하는 것은 대부분의 Excel 사용자가 일반적으로 요청하는 것입니다. 닫힌 파일에서 데이터를 가져 오거나 통합하려고합니다. 그러나 이것은 불가능합니다. 이 문제를 해결하는 데 도움이되는 해결 방법이 있습니다. 솔루션은 매크로 코드를 사용하고 있습니다 ._

질문 : 매일 한 파일에서 다른 파일로 데이터를 복사하는 데 시간을 보냅니다. “Open.xls”와“Closed.xls”라는 두 개의 파일이 있으며 VBA 코드를 통해“Closed.xls”에서“Open.xls”로 데이터를 복사하고 싶습니다.

===

알아야 할 주요 사항 :

첫 번째는 닫힌 통합 문서의 “Usedrange”, 즉 열린 통합 문서 내에서 “Closed.xls”를 알아야한다는 것입니다. “Open.xls”“Open.xls”통합 문서 내“Closed.xls”통합 문서의 Usedrange에서 IF 함수를 사용할 수 있으며“Closed.xls”통합 문서에서 데이터를 추출합니다. * 참조 셀이 비어 있으면 #N / A가 제자리에 배치됩니다. specialcells 방법을 사용하면 모든 # N / A 오류를 삭제하고 수식을 값으로 변경할 수 있습니다. 시작하려면 두 개의 Excel 파일을 저장합니다. 1) Open.xls 2) Closed.xls를 경로“D : \ Test 폴더”다음은“Closed.xls”통합 문서의 스냅 샷입니다.

img1

“Closed.xls”파일의 데이터를“Open.xls”파일에 자동으로 저장하려면 아래 단계에 따라 VB 편집기를 실행해야합니다. 개발자 탭을 클릭합니다. 코드 그룹에서 Visual Basic을 선택합니다.

img2

  • ThisWorkbook (Closed.xls)에서 아래 코드를 복사하세요

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _

Cancel As Boolean)

'Put in the UsedRange Address of Sheet1 Closed.xls (this workbook)' --- Comment

Sheet2.Cells(1, 1) = Sheet1.UsedRange.Address

End Sub

img3

  • “Open.xls”에서 데이터를 가져 오려면 표준 모듈에 다음 코드를 복사하세요

Sub Importdata()

Dim AreaAddress As String

Sheet1.UsedRange.Clear

Sheet1.Cells(1, 1) = "= 'D:\Test Folder\" & "[Closed.xls]Sheet2'!RC"

AreaAddress = Sheet1.Cells(1, 1)

With Sheet1.Range(AreaAddress)

.FormulaR1C1 = "=IF('D:\Test Folder\" & "[Closed.xls]Sheet1'!RC="""",NA(),'D:\Test Folder\" & _

"[Closed.xls]Sheet1'!RC)"

On Error Resume Next

.SpecialCells(xlCellTypeFormulas, xlErrors).Clear

On Error GoTo 0

.Value = .Value

End With

End Sub

img4

  • ThisWorkbook (Open.xls)에서 다음 코드를 복사하세요

Private Sub Workbook_Open()

Run "Importdata"

End Sub

img5

이제 VBA 코드가 모두 설정되었습니다. 우리가해야 할 일은“Open.xls”라는 파일 이름을 여는 것입니다. 다음은“Open.xls”파일의 스냅 샷입니다.

img6

코드는 A1.usedrange의 셀 복사에만 국한되지 않습니다. 코드는 시작 범위를 선택하고 완벽하게 작동합니다. 파일을 다운로드 할 수 있으며 사용하는 것이 좋습니다.

===

결론 : VBA 코드를 사용하면 대상 통합 문서를 열지 않고도 데이터 추출 작업을 자동화 할 수 있으며 수동 복사 및 붙여 넣기를 수행하지 않아도됩니다.

rar icon

_ 블로그가 마음에 들면 Facebook에서 친구들과 공유하세요. Twitter와 Facebook에서도 팔로우 할 수 있습니다 ._

_ 우리는 여러분의 의견을 듣고 싶습니다. 우리가 작업을 개선, 보완 또는 혁신하고 더 나은 서비스를 제공 할 수있는 방법을 알려주십시오. [email protected]_로 문의 해주세요