作者darklimit (Yu)
看板Visual_Basic
標題[VBA] 讀取檔案欄位
時間Thu Nov 25 14:56:43 2021
請問各位大神
目前程式是寫在A檔案
然後現在B檔案也有打開
但現在這樣寫法B檔案會無法讀取
應該怎麼修改比較好,謝謝
Windows(“B..xlsx”).Activate
row1 = Sheet1.Cells(1,3).End(xlDown).Row
在A檔案裡
這樣執行是沒問題的
Windows(“A.xlsx”).Activate
row1 = Sheet1.Cells(1,3).End(xlDown).Row
-----
Sent from JPTT on my iPhone
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.73.118.235 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Visual_Basic/M.1637823405.A.835.html
1F:→ lalacos123: 你的無法讀取是?抓不到值?會show error? 11/25 17:21
2F:→ darklimit: 會出現陣列索引超出範圍 11/25 22:54
3F:推 chunchanhung: Windows(“B..xlsx”).Activate 11/26 00:04
4F:→ chunchanhung: 名稱 多了一個”.” 11/26 00:04
5F:→ darklimit: 那是發文誤打啦,實際上沒有打到兩個點,抱歉造成誤會. 11/26 00:25
6F:→ darklimit: .. 11/26 00:25
7F:推 a24626296: B有幾個sheet? 11/26 12:51
8F:→ lalacos123: 還是sheets(1)不是sheet1 如果你沒先set過的話 11/26 13:38
9F:推 napyang: 建議可以不需要用active的方式。改成set BookB=workboo 11/26 17:52
10F:→ napyang: ks(“B…xlsx”),然後用BookB.worksheets(1).cells(ba 11/26 17:52
11F:→ napyang: labala)去取值 11/26 17:52
12F:→ waiter337: 直接用檔名比較穩 workbook("a.xlsx").sheet1........ 11/28 22:54
13F:→ waiter337: 很臭很長可以直接 set ws=workbooks("a.xlsx").sheet1. 11/28 22:55
14F:→ waiter337: 後面這一長串就用ws代替就可以了 11/28 22:55
15F:→ waiter337: ^的程式碼,假如要用到 11/28 22:56
16F:→ waiter337: windows(xxx).active 這段其實不好用 11/28 22:57
17F:→ darklimit: 感謝各位大神,後來用Set去寫就可以了,謝謝~ 12/01 10:59