VBA問題 請問如何利用VBA讓資料每次執行後自動貼上到最後一格
- 帖子
- 396
- 主題
- 12
- 精華
- 0
- 積分
- 425
- 點名
- 1
- 作業系統
- Win10
- 軟體版本
- Office 2016
- 閱讀權限
- 20
- 性別
- 男
- 來自
- 台中
- 註冊時間
- 2013-7-2
- 最後登錄
- 2026-8-12
  
|
|
|
|
|
|
|
|
- 帖子
- 396
- 主題
- 12
- 精華
- 0
- 積分
- 425
- 點名
- 1
- 作業系統
- Win10
- 軟體版本
- Office 2016
- 閱讀權限
- 20
- 性別
- 男
- 來自
- 台中
- 註冊時間
- 2013-7-2
- 最後登錄
- 2026-8-12
  
|
回復 5# jimmy121212
不好意思,昨天那樣寫的太笨了,換成這樣會比較方便。
另外你問程式裡的I跟X是什麼意思,其實沒什麼特別意思,個人習慣而已,
要設什麼都隨個人喜好,不要衝突到就好。
簡單的說,FOR …... NEXT,是一迴圈的方式,
FOR X = 1 TO 10
CELLS(X ,3)=10
NEXT
你用F8下去逐步執行,就會發現(1,3), (2,3)一直到(10,3)的儲存格都逐個變成10,
這就是迴圈,但是因為你有限定到10,所以他不會在(11,3)執行指令。
而我設的 For X = 2 To Application.CountA(Sheet2.[A:A]) + 1
他就可以用公式去計算出範圍,讓X的最大值成為一個變數,
你可以在即時運算視窗輸入『?Application.CountA(Sheet1.[A:A]) + 1』
去看看每次有新增資料時,他算出來的答案是不是有所不同。
不過早上想想這個方法挺呆的,你用附檔的這個語法簡單明暸多了。
以上都是本版上面的大大教的,來這真的會獲益良多哦~ |
|
|
|
|
|
|
|
- 帖子
- 396
- 主題
- 12
- 精華
- 0
- 積分
- 425
- 點名
- 1
- 作業系統
- Win10
- 軟體版本
- Office 2016
- 閱讀權限
- 20
- 性別
- 男
- 來自
- 台中
- 註冊時間
- 2013-7-2
- 最後登錄
- 2026-8-12
  
|
回復 12# jimmy121212
內容改成這樣子可以嗎?- Dim Sh(1 To 4) As Worksheet
- Set Sh(1) = Workbooks("c曆史未平倉.xlsx").Sheets("總未平覽表") '
- Set Sh(4) = Workbooks("a外資及自營-1.xlsm").Sheets("每日概算表")
- Sh(1).[e65536].End(xlUp).Offset(1, 0).Resize(1, 4).Value = Sh(4).[b37:e37].Value
- Sh(1).[r65536].End(xlUp).Offset(1, 0).Resize(1, 4).Value = Sh(4).[b38:e38].Value
複製代碼 |
|
|
|
|
|
|
|