- 帖子
- 315
- 主題
- 51
- 精華
- 0
- 積分
- 367
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- office2003
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2015-9-29
- 最後登錄
- 2021-10-12
|
參考附件︰
http://www.FunP.Net/300415
Private Sub CommandButton1_Click()
Dim j%, k%
Sheets("DATA").Range("I6", "P" & [R6] + 6).Copy [I6] '複製I:P資料
Range("I" & [Q5] + 7, "P" & [R6] + 6).Copy [A7]
Range("I7", "P" & [Q5] + 6).Copy Range("A" & [Q6] + 7) '複製A:H資料
Cells([T5] + 6, 9).Interior.ColorIndex = 4 'I欄的T5期數標示底色
If ([T5] + [Q6]) Mod [R6] > 0 Then
Cells(([T5] + [Q6]) Mod [R6] + 6, 1).Interior.ColorIndex = 8 'A欄的T5期數標示底色
Else
Cells([R6] + 6, 1).Interior.ColorIndex = 8
End If
For j = 10 To 16
If Cells([T5] + 6, j) = [R5] Then '以I欄T5期數有顯示R5值為基準條件
If ([T5] + [Q6]) Mod [R6] = 0 Then
Cells([R6] + 6, j - 8).Interior.ColorIndex = 8
Cells([R6] + 6, j).Interior.ColorIndex = 37
With Cells([Q6] + 6, j - 8)
.Interior.ColorIndex = 8
.Font.ColorIndex = 7
.Font.FontStyle = "粗體"
End With
With Cells([Q6] + 6, j)
.Interior.ColorIndex = 37
.Font.ColorIndex = 7
.Font.FontStyle = "粗體"
End With
Else
For k = 0 To Int(([R6] - ([T5] + [Q6]) Mod [R6]) / [Q6])
Cells(([T5] + [Q6]) Mod [R6] + 6 + [Q6] * k, j - 8).Interior.ColorIndex = 8 'A欄T5期依各間距數往下標示底色
Cells(([T5] + [Q6]) Mod [R6] + 6 + [Q6] * k, j).Interior.ColorIndex = 37
Next k
With Cells(([R6] - ([R6] - ([T5] + [Q6]) Mod [R6]) Mod [Q6] + [Q6]) Mod [R6] + 6, j - 8) 'A欄=k的最後間距期數再加一個間距標示底色
.Interior.ColorIndex = 8
.Font.ColorIndex = 7
.Font.FontStyle = "粗體"
End With
With Cells(([R6] - ([R6] - ([T5] + [Q6]) Mod [R6]) Mod [Q6] + [Q6]) Mod [R6] + 6, j)
.Interior.ColorIndex = 37
.Font.ColorIndex = 7
.Font.FontStyle = "粗體"
End With
End If
End If
Next j
[R6].Select
End Sub
需求
請問︰
程式碼能如何再簡化?
以上 懇請各位前輩、先進不吝賜教! 謝謝! |
|