看板 Visual_Basic 關於我們 聯絡資訊
軟體:EXCEL 版本:2013 之前在Office搜尋到相關主題,Cidolfas文章剛好是我想要的VBA程式, 但還是有誤麻煩哪位高手幫我看哪邊有錯,謝謝。 1.我現在有一個資料夾裡有不同EXCEL檔,每個EXCEL檔只有一個Sheet, 而我會用VBA把這些檔合併在同一個EXCEL裡,且每個sheet名稱都依公司名稱命名, EX.1101台泥 1102亞泥....等等依此類推,而每個Sheet我只要最後一筆資料(整行EX.270) 最後在新的Sheet排列下來,或者先不合併使用Cidolfa大大的 [VBA 抓取同excel的不同sheet資料]最後討論的程式去執行, 但在Set xlWrk = xlapp.Workbooks.Open(OpenFld & "A" & i & ".xls")有誤? 我稍為改的程式碼如下: Option Explicit Sub 從不同excel抓取固定欄位的值() Dim ISht As Worksheet, i&, OpenFld$, n& Dim sht As Worksheet Dim xlapp As Excel.Application Dim xlWrk As Excel.Workbook Dim xlSht As Excel.Worksheet Set xlapp = New Excel.Application Set ISht = Sheets("sheet1") OpenFld = "C:\Users\jason\Desktop\1\" For i = 1 To 50 Set xlWrk = xlapp.Workbooks.Open(OpenFld & "A" & i & ".xls") For Each sht In xlWrk.Sheets sht.Select n = n + 1 ISht.Range("C" & n) = sht.[C270] Next xlWrk.Close Next End Sub 只改讀取路徑和ISht.Range("C" & n) = sht.[C270]此行資料 希望哪位高手可以幫我指正一下,萬分感謝QQ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.41.21.77
MOONRAKER:設watch監看OpenFld & "A" & i & ".xls"內容是啥 04/03 01:37
MOONRAKER:我猜你 i 轉成字串時前後有空白 04/03 01:37
DeathWatch:同意樓上 04/03 13:43
DeathWatch:OpenFld = "C:\Users\jason\Desktop\1\" 你這行錯了 04/03 16:48
DeathWatch:可以改ISht.Range("C" & n) = xlWrk.Sheets(1).[C270] 04/03 16:51
DeathWatch:裡面的迴圈不需要 04/03 16:51
hsiangjason:有跑出來了,謝謝! 04/03 18:08