Excel 如何在导入过程中将行转换为列?

Excel 如何在导入过程中将行转换为列?,excel,Excel,我使用以下方法导入了一个简单的文本文件: Excel->from text->cancel 然后我发现我有2行和100列。 事实上,它们应该是100行和两列。在导入过程中,是否有其他方法来转置文件,因为我不想导入它们然后转置。AFAIK,在导入数据时,不可能使用任何内置方式来转置数据 导入数据后,必须转置数据。按照上面评论中的@SkipIntro建议录制宏 话虽如此,还有一个混乱的选择。导入数组中的数据,然后按需要的方式写入Excel文件。为此,您必须使用VBA 下面是一个例

我使用以下方法导入了一个简单的文本文件:

   Excel->from text->cancel
然后我发现我有2行和100列。
事实上,它们应该是100行和两列。在导入过程中,是否有其他方法来转置文件,因为我不想导入它们然后转置。

AFAIK,在导入数据时,不可能使用任何内置方式来转置数据

导入数据后,必须转置数据。按照上面评论中的@SkipIntro建议录制宏

话虽如此,还有一个混乱的选择。导入数组中的数据,然后按需要的方式写入Excel文件。为此,您必须使用VBA

下面是一个例子

假设我们的文本文件如下所示

您可以使用此代码一次性读取数组中的整个文本文件

Dim MyData As String, strData() As String

Open "C:\Sample.Txt" For Binary As #1
MyData = Space$(LOF(1))
Get #1, , MyData
Close #1
strData() = Split(MyData, vbCrLf)

现在,您可以在整个数组中循环
strData
并拆分数据,最后写入excel工作表的相关部分

在手动执行导入和转置时运行宏记录器。一旦你做到了这一点,你就可以修改代码以适应。