2013-01-02 3 views
0

하나의 워크 북에 수백 가지 워크 시트가 있으며 각 워크 시트의 모든 데이터를 다른 워크 시트에 추가하고 모두 거대한 마스터 워크 시트에 넣어야합니다. 모든 열 이름은 모든 워크 시트에서 동일합니다.Excel 워크 시트를 하나의 워크 시트로 병합

여기서 나의 최종 목표는 마스터 워크 시트의 모든 데이터를 가져와 Access 데이터베이스에 저장하는 것입니다. 따라서 누구나 수백 개의 Excel 워크 시트의 데이터를 한꺼번에 가져 와서 붙여 넣기 쉬운 방법을 알고 있다면 훌륭한 데이터베이스가 될 것입니다.

이 작업을 수행하는 가장 좋은 방법은 VBScript 일종의 것으로 보이지만 매우 익숙하지 않습니다.

답변

1

좀 더 간단하게 VBScript를보다 VBA를 사용할 수 있습니다

'Requires reference to the Microsoft Excel x.x Object Library 

    Dim strFileName As String 
    Dim objXL As New Excel.Application 
    Dim wkb As Excel.Workbook 
    Dim wks As Object 

    'objXL.Visible = True 

    strFileName = "C:\Docs\LTD.xls" 
    Set wkb = objXL.Workbooks.Open(strFileName) 

    For Each wks In wkb.Worksheets 
     DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, _ 
      "TableName", strFileName, True, wks.Name & "$" 
    Next 

    'Tidy up 
    wkb.Close 
    Set wkb = Nothing 
    objXL.Quit 
    Set objXL = Nothing 

를 TransferSpreadsheet을 : 당신이 긴 열 이름, 예약 된 문자 또는 열 이름에 이름, 날짜 데이터 형식 문제로 실행할 수 있습니다 http://msdn.microsoft.com/en-us/library/office/bb214134(v=office.12).aspx

주 , 열의 데이터와 열의 긴 데이터가 혼합되어 있습니다.

+0

좋아요, 여기 몇 가지 질문 만하십시오. 이 코드는 어디에 두어야합니까? 워크 시트를 마우스 오른쪽 버튼으로 클릭하고 '코드보기'를 클릭하면 문제가 해결됩니다. 그렇지 않으면 어둠 속에서 저에게 준 코드를 저장하고 실행해야합니다. – Hoser

+0

코드는 MS Access입니다. – Fionnuala

+0

좋아. 그렇다면이 코드를 저장하고 실행하여 Access 데이터베이스에 원하는 정보를 채우십시오. – Hoser

관련 문제