作者andywu322 ( )
看板Office
标题[算表] 如何撷取不规则的txt内容到excel?
时间Thu Nov 17 09:21:28 2016
软体: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://webptt.com/cn.aspx?n=bbs/Office/M.1479345693.A.1D4.html
1F:→ soyoso: 问题1,版上/vba /txt 11/17 09:29
2F:→ soyoso: 问题2,3回圈逐行判断或是将文字档汇入工作表内再判断 11/17 09:37
3F:→ soyoso: 问题4,将判断上符合的字串置於储存格内如range = 字串变 11/17 09:42
4F:→ soyoso: 数 11/17 09:43
5F:→ soyoso: 因有不规则的情况,加上变数累加,至3或4(看原po设定的位 11/17 09:50
6F:→ soyoso: 置)时,取得的资料则为下一笔 11/17 09:50
7F:→ soyoso: 且上述变数归零或预设值 11/17 09:51
8F:→ soyoso: 如同列电话、分机要个别置於不同储存格也可以split或 11/17 09:54
9F:→ soyoso: 全部汇入後再以range.texttocolumns 11/17 09:55