欄位有換行問題該如何匯入EXCEL

2012-09-24 4:04 am
每天都要把一個TXT檔案匯入excel來產生報表...

但這個txt是系統轉出來的之前是為了要印出a4紙
所以當初設計者就把欄位切成二行

現在這txt 要再產生另位報表...但無法匯入...因為它有換行的麻煩....

有千行.... 每次都用人工接回....有時按太快還接錯... 好白癡的作法

每天都花近半小時再接回txt 的東西 大概有五百筆正確的資料


我們才利用excel 去做報表...

請問有人知道如何做嗎?


簡單說明如下...TXT 裡有千多行這些資料...A~O

A B C D E F G H
I J K l M N O

但產出時已自動換行... 所以我要人工先接回成

A B C D E F G H I J K l M N O

接好了...才能利用匯入EXCEL來作業...



請問這狀況我要如何處理?再接回呢? 真的不想人工接回好累..

回答 (3)

2012-10-01 11:37 pm
✔ 最佳答案
1,2列接成第一列,3,4列接成第二列...?
可先匯入再接(較簡單),接好再匯入(讀取速度會慢很多)
最好有 .txt範本,及途徑
版主參考

2012-09-25 00:00:38 補充:
請版主提供.txt範本,檔名,及途徑

2012-09-27 09:33:39 補充:
To 版主
實在需要範例,否則差一點就程式就要重改
如不方便貼範例,請寄範例給我
[email protected]
時間將近
版主有意就延長發問時間,

2012-09-28 08:30:56 補充:
有寄.txt範例給我嗎???
有前約10 列資料即可

2012-09-28 17:34:10 補充:
如版主所給之資料格式無誤
問題不在於資料的匯入,在於資料的整理
http://www.FunP.Net/461945
版主請測試

2012-09-28 18:35:28 補充:
Module
Sub test01() '資料匯入
Sub text02() '資料整理
資料整理簡要述之,包括
1.算列
2.算欄
3.去除空白
4.每兩列合併入陣列
5.提取陣列填入Sheet1最上空白列

2012-10-01 15:37:15 補充:
資料匯入後
 ABCDEF1欄位1欄位2 欄位3 欄位4 欄位5 欄位62 欄位7 欄位8 欄位9 欄位10 欄位11 3      4      5欄位1欄位2 欄位3 欄位4 欄位5 欄位66 欄位7 欄位8 欄位9 欄位10 欄位11 7      8~以下略     ~
Sub tt() Call test01 Call test02End Sub'~Sub test01() Dim myPaht$, myFile$ mypath = ThisWorkbook.Path myFile = mypath & "\txt.txt" Sheets("Sheet3").Select Cells.Delete ' 準備工作結束,以下為{tab}分隔 TXT 匯入標準程序 With ActiveSheet.QueryTables.Add(Connection:= _ "TEXT;" & myFile, Destination:=Range("A1")) .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1) .Refresh BackgroundQuery:=False End WithEnd Sub'~Sub test03() Dim j&, i&, k&, Jm& Dim myArr(11) '定義12元素陣列 Sheets("Sheet1").Cells.ClearContents '以下2列多餘,只是為第一列放置按鈕用 Sheets("Sheet1").[A1] = "資料整理" Jm = 1 Sheets("Sheet3").Select ' 準備工作結束,以下為 3 重迴圈 For j = 1 To [A65536].End(xlUp).Row ' 因匯入資料有空列 If Cells(j, 1) <> "" Then ' 因匯入資料兩列合成一列 For k = 0 To 1 ' 讀取各欄位資料 For i = 1 To 6 ' 將匯入資料寫入陣列中,因資料中帶有空格故用Trim函數 myArr(k * 6 + i - 1) = Trim(Cells(j + k, i)) Next i Next k Jm = Jm + 1 ' 將陣列資料寫至Sheet1 Sheets("Sheet1").Cells(Jm, 1).Resize(1, 12) = myArr 'Sheets(1).[A65536].End(xlUp).Offset(1).Resize(1, 12) = myArr '另一種寫法 j = j + k - 1 End If Next Sheets("Sheet1").SelectEnd Sub
2012-09-24 10:12 pm
不知版大匯入時是不是利用excel檔的資料/匯入外部資料/匯入資料,若不是,請用上開動作試試看!
2012-09-24 8:51 pm
因為欄位大小不一樣....所以先匯入excel會亂掉....

不是固定的大小....excel匯入會以第一排為主來分欄位...
指定好...第二排的資料就全亂了....

所以我是先笨笨的txt先 接好.... 才匯入....真的很浪費時間

有五百多筆....大概就是一千多行...每天都這樣子接來接去浪費了半小時..

2012-09-27 08:29:51 補充:
我是利用匯入資料的方式...會有欄位的設定...但...第一行是沒問題...但資料有折斷到第二行...所以才麻煩...一匯入就...全亂了....第一行跟第二行的內容長度不一...所以....我才先要在txt 手動接回...成一行的txt 才能正確的匯入....

我的txt 的資料就像以下...... 各英文 字母 就是我的闌位資料...

aaaaaaa bbb ccccc ddddd eeeee fffff ggggg
h ii jjjjjjjjjjjjjjjj kkk llllll mmmmmmmm oooo


範例就是這樣子而已...大概好幾千行資料

2012-09-28 17:59:35 補充:
感謝耶~~就是這樣子...

請問如何整理的...如何匯入的....可以教一下嗎?


收錄日期: 2021-04-27 19:53:53
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20120923000010KK06384

檢視 Wayback Machine 備份