- 帖子
- 559
- 主題
- 58
- 精華
- 0
- 積分
- 626
- 點名
- 0
- 作業系統
- win8
- 軟體版本
- office2013
- 閱讀權限
- 50
- 性別
- 男
- 來自
- TW
- 註冊時間
- 2010-11-22
- 最後登錄
- 2024-6-14
|
5#
發表於 2011-5-30 16:18
| 只看該作者
不曉得我的處理方式~ 有沒有符合樓主的要求
我的方式是將data轉換成每週的方式~ 這樣可以排除樓主撈不到該週最後一天的收盤價問題~
附件是我完成的檔案~ 僅是設定一個按健加上~ 使用一些函數後~ 將其data進行轉換~
c欄位函數=WEEKDAY(A2,2) <---從第2列開始
d欄位函數=A3-$A$2 <----從第3列開始
o欄位函數=IF(M2="",IF(L2="",IF(K2="",IF(J2="",IF(I2="","",I2),J2),K2),L2),M2) <---從第2列開始
按鑑的程式碼~
Private Sub CommandButton1_Click()
Sheet1.Range("H:N").ClearContents '先清除資料
'欄位設定
Sheet1.Range("H1") = "星期日"
Sheet1.Range("I1") = "星期一"
Sheet1.Range("J1") = "星期二"
Sheet1.Range("K1") = "星期三"
Sheet1.Range("L1") = "星期四"
Sheet1.Range("M1") = "星期五"
Sheet1.Range("N1") = "星期六"
'將資料轉換為每一週的格式
Do Until Sheet1.Range("A" & 2 + I) = ""
If Sheet1.Range("A" & 2 + I).Value = Sheet1.Range("A" & 2) Then
Else
A = Int(Sheet1.Range("D" & 2 + I) / 7)
End If
B = B
If B = A Then
K = K
Else
B = A
K = K + 1
End If
Select Case Sheet1.Range("C" & 2 + I)
Case 7
Range("H" & 2 + K) = Sheet1.Range("B" & 2 + I)
Case 1
Range("I" & 2 + K) = Sheet1.Range("B" & 2 + I)
Case 2
Range("J" & 2 + K) = Sheet1.Range("B" & 2 + I)
Case 3
Range("K" & 2 + K) = Sheet1.Range("B" & 2 + I)
Case 4
Range("L" & 2 + K) = Sheet1.Range("B" & 2 + I)
Case 5
Range("M" & 2 + K) = Sheet1.Range("B" & 2 + I)
Case 6
Range("N" & 2 + K) = Sheet1.Range("B" & 2 + I)
End Select
I = I + 1
Loop
End Sub
附件
計算週報酬.rar (15.05 KB)
結果圖示
|
|