Pat想知道如何将逗号分隔的文本文件的所有列的默认列数据类型从“常规”更改为“文本”。更改每一列的格式(尤其是当它们很多时)最多可能是乏味的。

不幸的是,无法更改默认值。但是,通过应用大多数Windows程序中提供的一些“选择”功能,可以更轻松地完成列数据类型的更改。请按照下列步骤操作:

。像通常一样开始导入用逗号分隔的文本文件。

。当显示允许您更改列数据类型的对话框时,选择表中的第一列。

。在对话框中向右滚动,以便表的最后一列可见。

。单击最后一列时,按住Shift键。现在应该选择所有列。

。将数据类型更改为文本。

。照常继续导入。

如果您希望以更快的方式从逗号分隔的文本文件中输入信息,则可以使用宏,从而完全跳过Excel导入过滤器。下面的标题为(适当地)Import的宏将达到目的:

Sub Import()

Open "d:\data.txt" For Input As #1     R = 1     While Not EOF(1) 'Scan file line by line         C = 1         Entry = ""

Line Input #1, Buffer         Length = Len(Buffer)

i = 1         While i <= Length 'split string into cells             If (Mid(Buffer, i, 1)) = "," Then                 With Application.Cells(R, C)

.NumberFormat = "@" 'Text formatting                     .Value = Entry                 End With                 C = C + 1                 Entry = ""

Else                 Entry = Entry + Mid(Buffer, i, 1)

End If             i = i + 1         Wend         If Len(Entry) > 0 Then             With Application.Cells(R, C)

.NumberFormat = "@" 'Text formatting                 .Value = Entry             End With         End If         R = R + 1     Wend     Close #1 End Sub

您应注意,可以更改宏的第一行以表示要导入的文件的名称。您还应该了解,此宏适用于最简单的以逗号分隔的文本文件。如果在每个字段周围都用引号创建了文件(有时是这样),则该宏将无法提供所需的结果,因此需要进行更改以补偿引号。或者,您也可以选择在宏导入信息后使用搜索来删除引号。

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(7889)适用于Microsoft Excel 2007、2010、2013和2016。您可以在此处为Excel的较旧菜单界面找到此技巧的版本:

链接:/ excel-Faster_Text_File_Conversions [快速文本文件转换]。