在我的excel文件中,我有一個帶有公式的表格設置。Excel VBA Select Case Loop Sub
帶有來自範圍(「B2:B12」),範圍(「D2:D12」)的單元格以及包含這些公式的答案的每隔一行。我需要應用條件格式,但我有7個條件,所以我一直在使用VBA中的「select case」來根據它們的編號來改變它們的內部背景。我目前成立了片內碼的選擇情況下的功能,而不是它自己的宏觀
Private Sub Worksheet_Change(ByVal Target As Range)
Dim iColor As Integer
If Not Intersect(Target, Range("B2:L12")) Is Nothing Then
Select Case Target
Case 0
iColor = 2
Case 0.01 To 0.49
iColor = 36
Case 0.5 To 0.99
iColor = 6
Case 1 To 1.99
iColor = 44
Case 2 To 2.49
iColor = 45
Case 2.5 To 2.99
iColor = 46
Case 3 To 5
iColor = 3
End Select
Target.Interior.ColorIndex = iColor
End If
End Sub
,但使用這種方法,你必須是實際進入價值進入細胞的格式化工作。
這就是爲什麼我想寫一個子程序來做到這一點的宏。我可以輸入數據,讓公式工作,當一切準備就緒時,我可以運行宏並格式化這些特定的單元格。
我想要一個簡單的方法來做到這一點,顯然我可以浪費大量的時間,爲每個單元格輸入所有的情況,但我認爲使用循環會更容易。
我將如何去編寫一個select case循環來改變每隔一行的特定範圍的單元格的格式?
謝謝你提前。
您可以使用「添加評論」功能,該功能出現在每個答案下方。下面的大文本框可用於回答(解決方案)。評論框可用於討論解決方案及其評論。 – shahkalpesh 2009-12-03 19:46:31
您的Select Case有一個邏輯錯誤。如果某人設法輸入3個十進制值(比如.496),則不會選擇任何Case。 (換句話說,它會「跌倒」)。它應該是.49到.99,.99到1.99等。 – Oorang 2009-12-04 00:09:03