看板 Office 關於我們 聯絡資訊
軟體: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
soyoso: 問題1,版上/vba /txt 11/17 09:29
soyoso: 問題2,3迴圈逐行判斷或是將文字檔匯入工作表內再判斷 11/17 09:37
soyoso: 問題4,將判斷上符合的字串置於儲存格內如range = 字串變 11/17 09:42
soyoso: 數 11/17 09:43
soyoso: 因有不規則的情況,加上變數累加,至3或4(看原po設定的位 11/17 09:50
soyoso: 置)時,取得的資料則為下一筆 11/17 09:50
soyoso: 且上述變數歸零或預設值 11/17 09:51
soyoso: 如同列電話、分機要個別置於不同儲存格也可以split或 11/17 09:54
soyoso: 全部匯入後再以range.texttocolumns 11/17 09:55