Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

ACC2000: Imported Excel Spreadsheet May Have Blank Columns


View products that this article applies to.

This article was previously published under Q208512
Novice: Requires knowledge of the user interface on single-user computers.

This article applies to a Microsoft Access database (.mdb) and to a Microsoft Access project (.adp).

↑ Back to the top


Symptoms

When you import a Microsoft Excel spreadsheet whose cell table goes beyond the last cell that actually contains data, you may get blank columns in the Microsoft Access table. This behavior occurs with the TransferSpreadsheet macro and the Import Menu commands.

When you use a TransferSpreadsheet macro action or the TransferSpreadsheet method in Visual Basic for Applications to append data to an existing table from a spreadsheet file, you may receive an error message similar to the following:
Field 'F3' doesn't exist in destination table MyTable.
Microsoft Access was unable to append it.
The field specified in the error message may vary.

↑ Back to the top


Cause

Excel keeps track of all the used cells on a worksheet by using an activecell table. In some cases, the last cell of that table may refer to a cell outside of the area of the worksheet that is actually being used. When imported into Microsoft Access, all cells of the activecell table are imported; this may result in blank fields.

↑ Back to the top


Resolution

To avoid the extra columns when you import an Excel spreadsheet, use one of the following methods:
Open the table in Design view and delete the extra columns.
Use Excel to reset the last cell.For additional information about resetting the last cell, click the article number below to view the article in the Microsoft Knowledge Base:
244435 XL2000: Resetting the Last Cell Fixes Memory/Printing Problems
Use the TransferSpreadsheet macro action and set the Range argument to the actual range of cells to be imported.

↑ Back to the top


More information

Steps to Reproduce Behavior

1.Create a folder (directory) on drive C and name it Examples.
2. Start Microsoft Excel.
3. If a default blank workbook does not appear, on the File menu, click New, click Workbook, and then click OK.
4.Type the following information in Sheet1:
   A1: Sue      B1: 10     C1:  (enter a space in this cell)
   A2: Tom      B2: 20
   A3: Jill     B3: 30
   A4: Tim      B4: 40
					
5.Save the workbook to the Examples folder as Test.xls, and then close it.
6.Start Microsoft Access and open a new blank database.
7.Create the following macro:
   Action: TransferSpreadsheet

   Action Arguments
   ----------------
   Transfer Type:    Import
   Spreadsheet Type: Microsoft Excel 8-9 (or the corresponding version
                      on your system)
   Table Name:       New
   File Name:        C:\Examples\Test.xls 
   Has Field Names:  No
					
8.Save the macro as XLImport, and then close it.
9.Run the XLImport macro.
10.Open the New table.

Note that there are three fields (F1, F2, and F3), and that the third field is blank.

↑ Back to the top


References

For more information about importing data from Microsoft Excel, click Microsoft Access Help on the Help menu, type import or link data from a spreadsheet in the Office Assistant or the Answer Wizard, and then click Search to view the topic.

For more information about the TransferSpreadsheet macro action, click Microsoft Access Help on the Help menu, type transferspreadsheet action in the Office Assistant or the Answer Wizard, and then click Search to view the topic.

↑ Back to the top


Keywords: KB208512, kbprb, kbinterop, kberrmsg

↑ Back to the top

Article Info
Article ID : 208512
Revision : 2
Created on : 6/30/2004
Published on : 6/30/2004
Exists online : False
Views : 354