更快的文本文件转换(Microsoft Excel)
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 [快速文本文件转换]。