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...