返回列表 上一主題 發帖

[發問] 請教微調按鈕在VBA裡的寫法

1.公式法:
B2:
=SUM(N(OFFSET(Sheet1!$A$1,MATCH($A2,Sheet1!$A:$A,)-1,MATCH(B$1&"/close",Sheet1!$1:$1,)-{6,1}))*{-1,1})
 
2.VBA:迴圈一次跑完
Sub T1014_1()
Dim R&, xR As Range, X&, j&
With Sheets("Sheet2")
   Set xR = .[B1]
   R = .Cells(Rows.Count, 1).End(xlUp).Row - 1
   If R <= 0 Then Exit Sub
End With
 
With Sheets("Sheet3")
   X = .Cells(Rows.Count, 1).End(xlUp).Row - 3
   If X <= 0 Then Exit Sub
   For j = 1 To R
     .[A2] = j
     Set xR = xR(2)
     xR.Resize(1, X) = Application.Transpose(.[H4].Resize(X))
   Next
End With
End Sub

TOP

本帖最後由 准提部林 於 2015-10-15 09:43 編輯

回復 3# 悅風


X = .Cells(Rows.Count, 1).End(xlUp).Row - 3  
_〔日期〕筆數,原應減2,但須至少2筆以上才能算上下差值,故多減1 
 
If X <= 0 Then Exit Sub
_日期少於2個.跳出 

For j = 1 To R
_以 Sheet2 編號個數跑迴圈 

.[A2] = j
_在A2填入迴圈值,相當于使用微調按鈕連按,使公式自動變換計算值 

Set xR = xR(2)
_要轉貼差值的位置,起始格為 Sheet2 的B1,跑迴圈時自動〔往下〕移一格,即B2.B3....... 

xR.Resize(1, X) = Application.Transpose(.[H4].Resize(X))
_以 xR 為基準,向右抓 X 欄數的範圍,填入H欄差值 
_因由〔直轉橫〕,必須使用 Transpose 〔轉置〕 

TOP

        靜思自在 : 【生命在呼吸間】佛陀說:「生命在呼吸間。」人無法管住自己的生命,更無法擋住死期,讓自己永住人間。既然生命去來這麼無常,我們更應該好好地愛惜它、利用它、充實它,讓這無常、寶貴的生命,散發它真善美的光輝,映照出生命真正的價值。
返回列表 上一主題