excel导入文本按行

来源:百度知道 编辑:UC知道 时间:2024/05/12 20:49:34
318,528,289,253,466,272,341,435,285,279,172,197,378,337,395,245,285,443,226,187,392,159,361,458,663,313,490,485,388,269,274,328,298,164,415,732,180
导入后
318 528 289
希望是
318
528
289

除了选择性粘贴转置 还有别的方法吗

用VBA(宏)处理程序如下:
Sub 导入文本()
'本示例是将"D:\My Documents\Book1.txt"数据导入到EXECL第一列中(A1,A2,……)
'Book1.txt内容:318,528,289,253,466,272,341,435,285,279,172,197,378,337,395,245,285,443,226,187,392,159,361
Dim fso As Object, f As Object, ar
Set fso = CreateObject("Scripting.FileSystemObject")
'p = ThisWorkbook.Path & "\Book1.txt"
p = "D:\My Documents\Book1.txt" '/////可根据文件Book1.txt实际路径修改
Set f = fso.OpenTextFile(p & fn)
s = f.readall
ar = Split(s, ",")
Set fso = Nothing: Set f = Nothing
i = 1
For Each x In ar
Cells(i, 1) = ar(i - 1)
i = i + 1
Next x

End Sub

复制,右键选择性黏贴,转置,确定

就可以啦。
当然公式也是可以的,不要那么复杂的嘛,,,

没有看清楚,修改一下。

上面的公式都对的,我也给一个吧。。。(公式贴在第一行)
=INDIRECT(CHAR(ROW()+64)&"1")
往下拉

A2输入公式

=OFFSET($A$1,,ROW(A1)-1)

回车确定,鼠标移到单元格右下角,当出现