• 2

請問一下...VBA中如何把多個資料夾內所有EXCEL檔案中的特定儲存格存到新的EXCEL檔案中?

不是很懂您的問題
您目的是要取值D8:E8、D9:E9、D10:E10...D22:E22這樣嗎?

如果是的話,兩個方法給您參考

方法1:寫迴圈
For i = 1 To 15
Range(R1.Offset(i, 3), R1.Offset(i, 5)).Value = S2.[D7:E7].Offset(i, 0).Value
Next i

方法2:直接取範圍
Range(R1.Offset(1, 3), R1.Offset(15, 5)).Value = S2.[D8:E22].Value
f10629 wrote:
不是很懂您的問題您目...(恕刪)

感謝大大的解答:
我的意思跟大大差不多~!
只是您程式跑出來會有3列同樣的資料
我把程式改成以下就可以了!!
For i = 1 To 15
Range(R1.Offset(i, 3), R1.Offset(i, 3)).Value = S2.[D7:E7].Offset(i, 0).Value '抓取D8E8的資料出來
Range(R1.Offset(i, 4), R1.Offset(i, 4)).Value = S2.Range("F7").Offset(i, 0).Value '抓取F7的資料出來
Range(R1.Offset(i, 5), R1.Offset(i, 5)).Value = S2.Range("G7").Offset(i, 0).Value '抓取G7的資料出來
Next i
但我剛又試了一下!!
如果此資料夾有2個以上的檔案的話!
且要抓取的位置都是一樣者
我程式執行下去第2個檔案中D8:E8~G7的資料並沒有過去!!
是否要和ActiveCell.Row+1合在一起嗎使用?
只是方式我不太會整合!
以上多謝大大的解答~!
會不會其實兩個都有過去,但因為目標沒位移,所以第一次填值被第二次填的值蓋掉了?
可以設中斷點逐步執行檢查看看
f10629 wrote:
會不會其實兩個都有過...(恕刪)

謝謝大大:
2個檔案的值都有過去..
我想應該是因I的值每一次進去都是1~15..
所以第2次會把第一次的值蓋過去!!
不知是否有其他的方法呢?
謝謝各位大大~!
提供個想法

可以再給個變數j
並賦予初始值
在有辦法辨別差異的地方,用IF去讓j位移
  • 2
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?