0
我創建了一個VBA腳本,它檢測一個數字並根據我給出的範圍顯示一種顏色。然而,我不知道如何把它變成一個函數。問題是,如果我反覆重複這段代碼,我得到一個錯誤,說存儲過程太大了。任何想法如何將此代碼轉換爲函數?程序vba太長,想變成函數
的Q3:Q3是可變的,的代碼下一個線將R3:R3
的_BAL1也是可變的,改變上的代碼的下一行的1
我也使用這樣的:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("Q3:Q3")) Is Nothing Then
Me.Shapes("_BAL1").Select
With Range("BAL1")
Selection.ShapeRange.Fill.ForeColor.RGB = ThisWorkbook.Colors(.Value)
.Select
End With
End If
試圖在回答工作中給出的代碼,但它不會工作,一直給我對象424錯誤:
這裏是適應代碼
Function my_test(ByRef Target As Range, ByVal my_range As String, ByVal my_range2 As String)
If Not Intersect(Target, Range(my_range)) Is Nothing Then
Me.Shapes("_" & my_range2).Select
With Range(my_range2)
Selection.ShapeRange.Fill.ForeColor.RGB = ThisWorkbook.Colors(.Value).Select
End With
End If
End Function
Private Sub Worksheet_Change(ByVal Target As Range)
Call my_test(Target, "Q3:Q3", "BAL1")
Call my_test(Target, "Q4:Q4", "BAL2")
End Sub
很想知道爲什麼錯誤是有
啊,BAL1是一個單元格引用,所以基本上我的左邊顏色的網格,右邊我有同樣的網格作爲數字。當我更新一個數字時,它會更新網格中的相應顏色。完全符合我的舊代碼,但是我後來得到的程序錯誤太大了。我編輯了代碼嘗試一種新的方式,現在我即將得到一個對象丟失錯誤 – 2011-03-11 13:07:31
這很奇怪,我的問題上的所有評論都消失了 - 去圖... – 2011-03-11 16:10:06
評論只有消失,如果足夠的人發現他們嘈雜或攻擊。 – 2011-03-11 18:05:57