[算表] 如何擷取不規則的txt內容到excel?

看板Office作者 ( )時間9年前 (2016/11/17 09:21), 編輯推噓0(009)
留言9則, 1人參與, 最新討論串1/1
軟體:EXCEL 版本:2003 因為我沒寫過VBA,學VB也是10年前的事,所以在這個版問這些問題可能有點蠢 希望大家見諒 先總結我的問題,怕底下內容耽誤大家時間,如果想看在繼續往下看 我想問以下這些語法 1.VBA 呼叫txt檔的語法 2.讀取txt檔某行的語法 3.判斷某行的首字的語法 4.抓txt檔某行資料到excel檔某欄的語法 << 我要處理的問題如下 >> 假設我有一份從資料庫匯出的TXT檔,內容如下: === TXT檔內容開始 ====================================== 姓名 ---------------------------- 電話 分機 ----- ---- 公司名稱 內容說明(非txt檔內容) ---------------------------- 張三 '姓名字數固定一致 1111111 0001 '電話跟分機的字數也是固定一致 大大公司 '公司名稱的字數不一定 李四 2222222 0204 中中中公司 姓名 ---------------------------- 電話 分機 ----- ---- 公司名稱 ---------------------------- '(不規則情形)這裡跟上面對照,多了一行空白 趙五 3333333 0303 小公司 錢六 4444444 0102 '(不規則情形)這裡跟上面對照,公司名稱 姓名 被擠到下一欄 ---------------------------- 電話 分機 ----- ---- 公司名稱 ---------------------------- 包賺錢公司 GG '自己加入GG字樣在最後一行, '讓迴圈知道要結束 ===== TXT檔內容結束 ========================== 我想把資料抓到excel檔,變成橫向的欄位如下 姓名 電話 分機 公司名稱 _____ _____ _____ __________ 張三 1111111 0001 大大公司 我目前的想法是,用一個迴圈控制行數,逐行讀取 另一個迴圈控制橫向的資料輸入,因為txt檔內容是每3行為一筆完整資料 所以這個迴圈是1~3的循環 然後用case條件運算式判斷每行的第一個字元 如果是「姓、電、公、-」就離開case 回到迴圈執行下一行 如果是null,就離開case回到迴圈 如果都不是,就抓資料 如果是G(自己加入txt檔末的字),程式整個結束 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 117.56.247.7 ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1479345693.A.1D4.html

11/17 09:29, , 1F
問題1,版上/vba /txt
11/17 09:29, 1F

11/17 09:37, , 2F
問題2,3迴圈逐行判斷或是將文字檔匯入工作表內再判斷
11/17 09:37, 2F

11/17 09:42, , 3F
問題4,將判斷上符合的字串置於儲存格內如range = 字串變
11/17 09:42, 3F

11/17 09:43, , 4F
11/17 09:43, 4F

11/17 09:50, , 5F
因有不規則的情況,加上變數累加,至3或4(看原po設定的位
11/17 09:50, 5F

11/17 09:50, , 6F
置)時,取得的資料則為下一筆
11/17 09:50, 6F

11/17 09:51, , 7F
且上述變數歸零或預設值
11/17 09:51, 7F

11/17 09:54, , 8F
如同列電話、分機要個別置於不同儲存格也可以split或
11/17 09:54, 8F

11/17 09:55, , 9F
全部匯入後再以range.texttocolumns
11/17 09:55, 9F
文章代碼(AID): #1OBGOT7K (Office)
文章代碼(AID): #1OBGOT7K (Office)