如何用EXCEL VBA讀入固定格式的

2021-06-26 11:19:05 字數 3231 閱讀 5057

1樓:橫山先生

參考下:

sub readfile()

dim ddate as date

dim scustomer as string

dim sproduct as string

dim dprice as double

dim sfname as string

dim ifnumber as integer 'file number

dim lrow as long 'row number in worksheet

sfname = "c:\vba_prog_ref\chapter12\jansales.txt"

'獲得未被使用的檔案號

ifnumber = freefile

'開啟檔案準備輸入

open sfname for input as #ifnumber

sheet2.cells.clear 『清除**內容

lrow = 2

do'從txt 檔案讀取內容到excel

input #ifnumber, ddate, scustomer, sproduct, dprice

with sheet2

.cells(lrow, 1) = ddate

.cells(lrow, 2) = scustomer

.cells(lrow, 3) = sproduct

.cells(lrow, 4) = dprice

end with

'移動到下一行

lrow = lrow + 1

'讀取檔案,直到檔案結尾

loop until eof(ifnumber)

'關閉檔案

close #ifnumber

end sub

2樓:匿名使用者

可以錄製一段巨集,匯入一個文字檔案,會產生如上的**:

workbooks.opentext filename:=thisworkbook.path & "\" & stemp, origin _

:=936, startrow:=1, datatype:=xlfixedwidth, fieldinfo:=array( _

array(0, 2), array(22, 2), array(39, 2), array(50, 2), array(51, 2), array(52, 2), array(60 _

, 2), array(80, 2), array(92, 2), array(143, 2), array(149, 2), array(157, 2), array(216, 2) _

, array(222, 2), array(225, 2), array(254, 2), array(255, 2), array(263, 2)), _

trailingminusnumbers:=true

然後用如下語句去迴圈匯入所有的文字檔案,匯入後可以再用其它控制語句去處理:

set fso = new filesystemobject

set afolder = fso.getfolder(thisworkbook.path)

for each afile in afolder.files

... ...

... ...

next

excel vba 讀取 固定格式的txt文字,輸入指定格式的**裡。 50

3樓:匿名使用者

sub query()

dim filename, inputstring as string, doc

filename = worksheets(2).range("b2").value'檔案儲存路徑

if createobject("scripting.filesystemobject").fileexists(filename) = true then

'判斷檔案是否存在

open filename for input access read as #1

'若存在則開啟tet檔案,名為#1

do while not eof(1)

line input #1, inputstring

'讀取tet檔案每行資料

doc = inputstring

'將每行資料賦值給doc

loop

close #1'關閉檔案

kill filename'刪除檔案

end if

end sub

高分求用vba將excel**資料 匯出固定格式的txt檔案。

4樓:匿名使用者

你可能沒明白樓上的意思,你建一列==if(book2!a1="北京","bj|")&if(book2!c1="神州行","shengzhouxing|")&book2!

d1&book2!e1,讓後一拖,拷貝一行,貼上就可以了。

另外是不是深圳需要改為sz那?家園卡需要改為jiayuanka?

5樓:匿名使用者

這個用不著動用vba,

直接在excel裡面處理後複製貼上在txt裡面就可以了。

不用一個一個的複製,可以用公式的。

excel中vba怎麼獲取一個txt檔案的固定行資料?

6樓:匿名使用者

剛才試了一下,你說的這種型別的txt好像可以直接用excel開啟,所以我錄了個巨集,改了一下

你可內以試試:

sub 提取()

set zsht = activesheet

workbooks.opentext filename:="d:\abc.txt"

set mytxt = activeworkbook

zsht.range("a1:d10").value = activesheet.range("a1:d10").value

mytxt.close

end sub

這個巨集是容要先開啟一個空**,然後執行這個巨集,會把txt當成**開啟,並a1:d10數值賦值給剛才開啟的空**

7樓:一箭驚仙

用正規表示式,按換行符分割,取出第10行

再將取出的第10行用正規表示式以不可見字元進行分割,就可以了

8樓:匿名使用者

用陣列啊,這麼多資料還用變數,out了

如何用EXCEL VBA將漢字轉成GB2312的URL編碼,如輸入 中國 ,生成 D6 D0 B9 FA ,用於網路查詢

據說有 multibytetowidechar 和 widechartomultibyte 這兩個函式可以使用,但是我沒用過!寫了2個函式,自己改吧!public function uncode x as range as string on error resume next msgbox asc...

怎樣用固定電話充Q幣,如何用固定電話衝Q幣

第一,每個地方的號碼都是不同的。第二,充值需要 的密碼,而且不是每個 都支援的。密碼需要機主姓名才能查到 第三,充值很貴,很不合適的,而且有上限。詳細步驟 登陸qq主頁 然後選擇qq充值,再選擇 充值,開啟後就可以了,裡面各地方的號碼寫的很詳細。充值很貴,很不合適的,而且有上限.建議到拍拍去買,安全...

電信固定IP光纖H3C F100 S G如何用WEB配置所有內網地址上外網

這個不能實現,因為 固定ip光纖無法設定web內網上外網,具體請諮詢當地10000號或者光纖安裝專業人員,因為法律法規規定,不可使用者自主設定。光纖網路是利用光在玻璃或塑料製成的纖維中的全反射原理而達成的光傳導工具接到公司或家或機房。利用交換機或其他終端轉換為普通rj45網線接到電腦上,也叫lan,...