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

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

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編寫模糊查詢程式,並將結果顯示在工作表中

不難實現,但 就懶得寫了。步驟 1 利用inputbox 獲得想查詢的內容,並存放到區域性變數inputdata 中 2 用dim myrange as range 和以下語句組合進行查詢 set myrange sheets 工作表名稱 cells.find what inputdata,afte...

excel vba如何已知週轉化為日期

一週有七天,你要哪一天?已知一個日期,怎麼判斷他是星期幾 vba weekday 2010 4 8 取的引數中的日期是一個星期的第幾天,星期天為1 星期一為2 星期二為3 依此類推。配合weekdayname 更好。weekdayname weekday 2010 4 8 如何通過vba把excel...

在MATLAB中如何將數個檔案連續讀入並標為陣列,用了命令eval imread1num2str i但不行

用cell陣列就可以使用迴圈了。比如a cell 100,1 這樣用a一直到a就可以像100個變數一樣使用了,而且還支援i 10 a 這種動態訪問。利用matlab中的imread怎麼讀取 方法 步驟 1 在matlab軟體中,讀取影象資料 載入 利用的是imread函式,主要有以下4種方式 a i...