利用Open方法將txt數(shù)據(jù)批量導(dǎo)入Excel中VBA實例教程_第1頁
利用Open方法將txt數(shù)據(jù)批量導(dǎo)入Excel中VBA實例教程_第2頁
利用Open方法將txt數(shù)據(jù)批量導(dǎo)入Excel中VBA實例教程_第3頁
利用Open方法將txt數(shù)據(jù)批量導(dǎo)入Excel中VBA實例教程_第4頁
利用Open方法將txt數(shù)據(jù)批量導(dǎo)入Excel中VBA實例教程_第5頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、利用 Open 方法將 txt 數(shù)據(jù)批量導(dǎo)入 Excel 中 VBA 實例教 程除非注明, 文章均為 戰(zhàn)戰(zhàn)如瘋 原創(chuàng), 轉(zhuǎn)載請保留鏈接 , VBA 交流 群 273624828 。之前學(xué)過了怎樣將 Excel 內(nèi)容導(dǎo)出為單個 txt 文件,今天我 們來看一下怎樣將 txt 格式的數(shù)據(jù)批量導(dǎo)入到 Excel 表格中。 將 txt 數(shù)據(jù)導(dǎo)入 Excel 中的方法有很多,比如 Querytable , ADO , filesystemobjec ,Open 或者直接錄制宏,我們只要 掌握其中一種即可。這里我要講的是 Open 方法,下節(jié)我們 再講錄制宏的方法。 Excel 對想要導(dǎo)入其中的 txt

2、數(shù)據(jù)是有一 定要求的,數(shù)據(jù)必須整齊,要有統(tǒng)一的分隔符,比如逗號或 空格等,如果你的數(shù)據(jù)達不到這些要求的話需要事前對數(shù)據(jù) 進行加工。假設(shè)我們這里有一個 3 列的 txt 格式數(shù)據(jù),數(shù)據(jù)之間以逗號 為分隔符,下面我們?nèi)匀挥蒙瞎?jié)的 Open 方法來實現(xiàn)將數(shù)據(jù) 導(dǎo)入到 Excel 表中??聪旅娴拇aSub open 法導(dǎo)入 1()Dim i%, a, b, c, mypath, myfile, t Application.ScreenUpdating = Falset = Timer記錄開始時間mypath = ThisWorkbook.Path & 獲得當前路徑myfile = mypath

3、 & 工資表 .txt 要導(dǎo)入的 txt 的路徑With Sheet1.UsedRange.ClearContentsOpen myfile For Input As #1i = 1Do While Not EOF(1)Input #1, a, b, cCells(i, 1) = aCells(i, 2) = bCells(i, 3) = c清除 sheet1 中的內(nèi)容 打開 txt 來對 Excel 輸入 行的計數(shù)器判斷是否到文件末尾 每列數(shù)據(jù)給一個對應(yīng)的標識 將 a 賦值給 cells(i,1)i = i + 1 行計數(shù)器 +1Loop 循環(huán)到下一行Close #1End With

4、Application.ScreenUpdating = TrueMsgBox 耗時 & Timer - t & s看下用時多久End Sub上面的代碼中用到了 Open myfile For Input As #1 ,看過將 Excel 內(nèi)容導(dǎo)出為單個 txt 文件這篇文章的朋友應(yīng)該還記得我 們將 excel 導(dǎo)出為 txt 時用的是 Open myfile For Output As #1 ,這點應(yīng)該注意一下。 EOF(1) 是判斷是不是到了 txt 文件 的末尾,如果不到則繼續(xù)循環(huán), 其中的 1即是#1 中的 1。 Input #1, a, b, c 是將每列的數(shù)據(jù)用一個

5、字母來代替, 示例中只有 3 列數(shù)據(jù)所以用的 a,b,c ,用的時候有幾列就用幾個字母。 之后 將 a,b,c 的值直接賦給了相應(yīng)的單元格。如果數(shù)據(jù)較多的話 我們是不提倡將數(shù)據(jù)直接賦給單元格,因為這樣會很慢,而 用數(shù)組則會快的多。下面的代碼就是先將數(shù)據(jù)都放到一個數(shù) 組中,最后將整個數(shù)據(jù)中的數(shù)據(jù)放入到 Excel 中。Sub open 法導(dǎo)入 ()Dim i%, a, b, c, mypath, myfile, t, arr(1 To 5000, 1 To 3)Application.ScreenUpdating = Falset = Timermypath = ThisWorkbook.Pat

6、h & myfile = mypath & 工資表 .txtWith Sheet1.UsedRange.ClearContentsOpen myfile For Input As #1i = 1Do While Not EOF(1)Input #1, a, b, carr(i, 1) = aarr(i, 2) = barr(i, 3) = ci = i + 1LoopClose #1End WithSheet1.Range(a1).Resize(i, 3) = arr Application.ScreenUpdating = True MsgBox 耗時 & Timer

7、 - t & s End Sub這里我事先定義了一個固定大小 的數(shù)組,而且將行數(shù)填的 相當大,防止數(shù)據(jù)不夠用,當然你也可以在循環(huán)的過程中利 用 preserve redim 對數(shù)組的大小進行修改, 感興趣可以自己 百度??梢员容^一下兩種方法用的時間,用數(shù)組方法顯然速 度提升了好幾倍。用上面的方法思路簡單,但是如果我列數(shù) 據(jù)很多,那這個代碼寫起來也相當?shù)穆闊┝?,那還有更好的 方法嗎?答案是肯定的,下節(jié)我們就來講怎樣通過修改錄制 宏的方法來將多個 txt 格式數(shù)據(jù)批量的導(dǎo)入到 excel 中。 本節(jié)示例文件下載: 。1 您可能也喜歡: 用 ADO SQL 方法將 txt 文本數(shù)據(jù)導(dǎo)入 Excel 通過錄制宏的方法將 txt 數(shù)據(jù)導(dǎo)入 Excel 中 如何從其它的 Excel 中獲得數(shù)據(jù) (2) GetObject 方法

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論