[算表] 文字合併儲存格

看板Office作者 (愛莎妮亞)時間12年前 (2014/02/09 17:31), 編輯推噓0(0025)
留言25則, 2人參與, 最新討論串1/1
軟體: Excel 版本: 2003 目前碰到一個問題如下 有先試著用PHONETIC、&、CHAR、...等做解決,但還想不出如何處理 所以需要請問是否可以協助,謝謝!! 說明: 1、輸入欄位 :可能在A1~Am(m為變數)欄位 2、輸入特徵1:filename.log的filename為變數 3、輸入特徵2:在每個filename.log會有begin、end區隔 4、輸入特徵3:begin、end之間可能是1~n(n為變數)個文字串描述 5、預期輸出1:在C欄位可以輸出原先filename.log名稱 在D欄位可以輸出原先filename.log內容(在begin、end內的描述) 6、預期輸出2:每個filename.log的文字儲存格只用一個完成 7、預期輸出3:將begin、end中間的文字串從n個儲存格變成一個(如下圖示D欄位) (這也是目前碰到的困難) 假設input: A 1 begin aaa.log; 2 // empty; 3 end 4 5 begin bbb.log; 6 insert@100; 7 insert@101; 8 end 9 10 begin abc.log; 11 // empty; 12 end 13 14 begin test.log; 15 // this is test 16 insert@150; 17 insert@151; 18 insert@300; 19 insert@301; 20 end 21 22 ..........(其它可能輸入的log資訊) 23 ..........(其它可能輸入的log資訊) 24 ..........(其它可能輸入的log資訊) 25 預期output: C D E 1 aaa.log // empty; 2 bbb.log insert@100; insert@101; 3 abc.log // empty; 4 test.log // this is test insert@150; insert@151; insert@300; insert$301; 5 ........ ...........(其它轉換的輸出log資訊) 6 ........ ...........(其它轉換的輸出log資訊) 7 ........ ...........(其它轉換的輸出log資訊) 8 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.0.251.200

02/09 19:59, , 1F
http://goo.gl/4R8Jqw 試試,用巨集
02/09 19:59, 1F

02/11 23:16, , 2F
謝謝S大,我對這excel VBA code並不是這麼熟悉
02/11 23:16, 2F

02/11 23:17, , 3F
我會先試著解讀看看,非常謝謝你的幫忙!!
02/11 23:17, 3F

02/11 23:18, , 4F
執行出來結果和原先預期差異在begin、end裡面的內容
02/11 23:18, 4F

02/11 23:18, , 5F
都是只佔一個儲存格,不會是N個儲存格
02/11 23:18, 5F

02/11 23:24, , 6F
我會先試著看看怎麼將N個欄位輸出把它排在一個欄位
02/11 23:24, 6F

02/11 23:30, , 7F
請問要run資料和本文內A欄的格式一樣嗎?還是有點不同呢?
02/11 23:30, 7F

02/11 23:33, , 8F
可提供檔案就更好了
02/11 23:33, 8F

02/11 23:39, , 9F
sorry,我不會附檔案,預期的在上面有示意貼出
02/11 23:39, 9F

02/11 23:40, , 10F
就是上面預期output的D4,它就是我需要的樣式
02/11 23:40, 10F

02/11 23:43, , 11F
了解,那上面連結的檔案,您執行上和預期有符合嗎?
02/11 23:43, 11F

02/11 23:44, , 12F
還是貼入其他資料來執行時就無法呈現了呢?
02/11 23:44, 12F

02/11 23:44, , 13F
非常的符合!!只差在要怎麼把N欄位變成用換行一欄位
02/11 23:44, 13F

02/11 23:45, , 14F
來做輸出的呈現,短時間內,我還無法理解
02/11 23:45, 14F

02/11 23:46, , 15F
換行一欄位是指同一個儲存格內換行呈現嗎?
02/11 23:46, 15F

02/11 23:46, , 16F
我想是不是還要搭配換行的char(10)之類的函數來使用
02/11 23:46, 16F

02/11 23:46, , 17F
是的,同一儲存格內換行呈現
02/11 23:46, 17F

02/11 23:47, , 18F
可用換行的char(10)來連接,在VBA內為chr(10)
02/11 23:47, 18F

02/11 23:53, , 19F
已修正,上面連結請重下,用vbcrlf連接應也可以
02/11 23:53, 19F

02/12 00:00, , 20F
是的,這原則上就是我希望的輸出。會要這麼做是因為
02/12 00:00, 20F

02/12 00:01, , 21F
輸入可能會有1000行以上的資訊,後端使用者又希望用
02/12 00:01, 21F

02/12 00:01, , 22F
excel來去排版去search,所以要將輸出做成這樣子
02/12 00:01, 22F

02/12 00:02, , 23F
再次非常感謝S大的協助!! (雖然我似乎看出range D)
02/12 00:02, 23F

02/12 00:03, , 24F
但我知道我對這相關了解不夠,所以會再花時間吸收~
02/12 00:03, 24F

02/12 00:05, , 25F
^^
02/12 00:05, 25F
文章代碼(AID): #1IzqiEwk (Office)
文章代碼(AID): #1IzqiEwk (Office)