Re: [算表] 多個Excel檔合併成為可查詢計算的資料庫(VBA)

看板Office作者 (windknife18)時間16年前 (2009/05/18 12:12), 編輯推噓8(8012)
留言20則, 4人參與, 最新討論串1/2 (看更多)
以下程式是將某目錄下所有 excel 檔合併在目前excel檔的程式 VBA 的方法請參考精華區 或之前的文章 只要建立一個空白的excel檔,將VBA放入,然後執行即可! 記得目錄要自己改成你要的,還有這個程式只做同一目錄下的檔案, 並沒有針對子目錄作處理! Option Explicit Sub Macro1() Dim path As String Dim obApp As New Excel.Application Dim myFso: Set myFso = CreateObject("Scripting.FileSystemObject") Dim wbnew, myfile Dim Start As Integer, rCount As Integer '要處理的目錄 path = "C:\Documents and Settings\Administrator\桌面\tt\" Dim wb: Set wb = ThisWorkbook obApp.DisplayAlerts = False obApp.ScreenUpdating = False obApp.EnableEvents = False Dim myfiles: Set myfiles = myFso.GetFolder(path).Files For Each myfile In myfiles If myfile.Name Like "*.xls" Then Set wbnew = obApp.Workbooks.Open(path & myfile.Name) With wbnew.Worksheets(1) Start = wb.Sheets(1).Range("A1").CurrentRegion.Rows.count + 1 rCount = .Cells.SpecialCells(xlCellTypeLastCell).Row .Range(.Cells(1, 1), .Cells(rCount, .Columns.count)).EntireRow.Copy wb.Sheets(1).Paste Destination:=ActiveWorkbook.Sheets(1).Range("A" & Start) End With wbnew.Close Set wbnew = Nothing End If Next obApp.EnableEvents = True obApp.ScreenUpdating = True obApp.DisplayAlerts = True Set obApp = Nothing MsgBox ("完成!") End Sub ※ 引述《acatz (無敵爆爆貓)》之銘言: : 軟體:M$ Excel : 版本:2003 SP3 : 本身都用手機在結算當日營業額,每天就用一個檔案來分開。 : 現在想要把這些資料結合成資料庫以利往後查詢、計算、平均,或者每個儲存格的最高、 : 加總、最低與平均。請問這是要結合Access嗎?還是Excel本身就可以這樣做了?如果要結 : 合的話,請問該怎作?市面上是否有書籍可以推薦? : 還是這是要另外買商業軟體才能做到的呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.131.84.79 ※ 編輯: windknife18 來自: 140.131.84.79 (05/18 12:14)

05/18 12:18, , 1F
大大太厲害了 讚!!!
05/18 12:18, 1F

05/18 16:40, , 2F
^^
05/18 16:40, 2F

05/19 16:07, , 3F
老大,真的是帥啊~
05/19 16:07, 3F

05/19 16:36, , 4F
處理完成,新的excel檔竟然是沒有東西@@
05/19 16:36, 4F

05/19 18:01, , 5F
有個地方少加了請從 copy 一次!
05/19 18:01, 5F
※ 編輯: windknife18 來自: 140.131.84.79 (05/19 18:01)

05/19 22:13, , 6F
可以了,但是可否變成一個檔案就一個sheet這樣會不會好計算?
05/19 22:13, 6F

05/19 23:19, , 7F
合併起來 查詢、計算、平均會比較方便
05/19 23:19, 7F

05/19 23:19, , 8F
而且你有1000多個檔案,如過用1000多個Sheet更難處理
05/19 23:19, 8F

05/19 23:20, , 9F
而且我也不確定到底sheets可以多少就是了 ..
05/19 23:20, 9F

05/20 03:04, , 10F
謝謝您,因為想說要運算某個同儲存格,用sheet會比較好整理
05/20 03:04, 10F

05/20 03:06, , 11F
因為在同一個sheet的話,要運算某個儲存格常搞到重點一次..
05/20 03:06, 11F

05/20 09:16, , 12F
你可以貼一些資料,以及你要的答案,
05/20 09:16, 12F

05/20 09:16, , 13F
這樣大家可以一起幫忙想 ...
05/20 09:16, 13F

05/20 13:44, , 14F

05/20 13:45, , 15F
如果不夠詳細的話,請告知。
05/20 13:45, 15F

05/20 15:21, , 16F
你的資料前半部再加上日期就可以了
05/20 15:21, 16F

05/20 15:23, , 17F
不過你下面5格是固定位置嗎? 而且每個檔案都有嗎?
05/20 15:23, 17F

05/20 20:13, , 18F
是的,格式都一樣。每個檔案都有。
05/20 20:13, 18F

05/20 20:14, , 19F
另外加上日期的意思是?多個欄出來打上日期嗎?
05/20 20:14, 19F

02/23 16:53, , 20F
屌阿 大推...
02/23 16:53, 20F
文章代碼(AID): #1A4E0mzs (Office)
文章代碼(AID): #1A4E0mzs (Office)