返回列表 上一主題 發帖

VBA問題 請問如何利用VBA讓資料每次執行後自動貼上到最後一格

回復 1# jimmy121212


  試試

複本 Xl0000083.rar (228.68 KB)

TOP

回復 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』
    去看看每次有新增資料時,他算出來的答案是不是有所不同。
    不過早上想想這個方法挺呆的,你用附檔的這個語法簡單明暸多了。
    以上都是本版上面的大大教的,來這真的會獲益良多哦~

複本 Xl0000083.rar (244.76 KB)

TOP

回復 12# jimmy121212

內容改成這樣子可以嗎?
  1. Dim Sh(1 To 4) As Worksheet
  2.     Set Sh(1) = Workbooks("c曆史未平倉.xlsx").Sheets("總未平覽表") '
  3.     Set Sh(4) = Workbooks("a外資及自營-1.xlsm").Sheets("每日概算表")
  4.     Sh(1).[e65536].End(xlUp).Offset(1, 0).Resize(1, 4).Value = Sh(4).[b37:e37].Value
  5.     Sh(1).[r65536].End(xlUp).Offset(1, 0).Resize(1, 4).Value = Sh(4).[b38:e38].Value
複製代碼

TOP

        靜思自在 : 手心向下是助人,手心向上是求人;助人快樂,求人痛苦。
返回列表 上一主題