[問題] excel VBA自動執行儲存格輸入的檔案

看板Office作者 (dry123)時間5年前 (2019/05/04 12:50), 5年前編輯推噓1(1013)
留言14則, 3人參與, 5年前最新討論串1/1
軟體:Excel 版本:2010 我是VBA新手 假設我在路徑X中,包含有1.txt 2.txt 3.txt 三個檔案 在Excel中 G1欄位輸入檔案路徑X G2欄位是檔名開始,輸入1 H2欄位是檔名結束,輸入3 此VBA的目的是藉由輸入資訊, 自動以Excel開啟已知路徑中的所有已知檔案文字檔 且檔案命名都有一定順序,例如1,2,3 我寫了以下VBA Sub A() ' '巨集1 巨集 ' Dim i As Integer X = Cells(2, "G").Value Y = Cells(2, "H").Value Z = Cells(1, "G").Value For i = X To Y Workbooks.Open Filename:=Range("G1").Value & "\" & i Next i End Sub 但Excel只開啟了1.txt後 就顯示 "執行階段錯誤' 1004' 很抱歉,我們找不到C:\。此項目是否已移動、重新命名或刪除"的對話框 新手不知道程式碼哪裡有錯 還請專家解析 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.217.94.205 ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1556945445.A.1EA.html ※ 編輯: dry123 (180.217.94.205), 05/04/2019 12:55:56

05/04 13:23, 5年前 , 1F
i後面應是還要加上副檔名,如 ... & i & ".txt" 試試
05/04 13:23, 1F

05/04 13:23, 5年前 , 2F
因你開啟檔案後,開啟檔案的相對應的儲存格沒有資料
05/04 13:23, 2F

05/04 13:23, 5年前 , 3F
在range前加上workbook(檔案名稱)
05/04 13:23, 3F

05/04 14:06, 5年前 , 4F
如是c大所提的話,因變數Z就已讀取儲存格G1的值
05/04 14:06, 4F

05/04 14:06, 5年前 , 5F
就以 Z & "\" & i的方式
05/04 14:06, 5F

05/04 14:14, 5年前 , 6F
range前加上workbook也不正確,因為range不是workbooks的
05/04 14:14, 6F

05/04 14:15, 5年前 , 7F
屬性或方法
05/04 14:15, 7F

05/04 14:16, 5年前 , 8F
workbooks(...).worksheets(...).range才是
05/04 14:16, 8F

05/04 14:20, 5年前 , 9F
以內文要加的話thisworkbook.activesheet.range("g1")
05/04 14:20, 9F

05/04 14:23, 5年前 , 10F
或是將程序寫在microsoft excel物件,同g1儲存格工作表內
05/04 14:23, 10F

05/04 14:23, 5年前 , 11F
那就都不用改了
05/04 14:23, 11F

05/04 16:38, 5年前 , 12F
感謝s大,使用起來OK,確實要在range("g1")前指定
05/04 16:38, 12F

05/04 16:39, 5年前 , 13F
thisworkbook.activesheet,也就是指定本工作表才能順利
05/04 16:39, 13F

05/04 16:39, 5年前 , 14F
進行迴圈
05/04 16:39, 14F
文章代碼(AID): #1SpHeb7g (Office)
文章代碼(AID): #1SpHeb7g (Office)