0
我在工作表中有一堆範圍名稱(大多數是單個單元格)。當我更改名爲「Grade」的單元格時,我希望它的值出現在另一個名爲「GrdSrchSttng」(6 x 1範圍)的範圍中作爲最後一個值。但是爲了做到這一點,我需要知道名爲「成績」的特定單元格發生了變化。 The solution to this question does not work.返回範圍的名稱。
我嘗試這樣做:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim isIn As Boolean
Dim i As Integer
Dim r As Range
Set r = ActiveSheet.Range("GrdSrchSttng")
If Target.Name.Name = "Search!Grade" Then ' <== this si the line I have the issue with
Select Case Target.Value
Case "All"
r.ClearContents
r.Cells(1, 1).Value = "All"
Case ""
r.ClearContents
Target.Value = "All"
r.Cells(1, 1).Value = "All"
Case Else
If r(1, 1).Value = "All" Then
r.ClearContents
End If
i = 1
Do While r(i, 1).Value <> ""
If r(i, 1).Value = Target.Value Then
isIn = True
End If
i = i + 1
Loop
If Not isIn Then
r(i, 1).Value = Target.Value
End If
End Select
End If
End Sub
嗨,謝謝,很好的解決方法。我決定使用這個而不是我的「下一個單元格檢查」,因爲我更喜歡這個。仍然不明白爲什麼.name.name不起作用。有點沮喪。但無論如何,非常感謝。 – PBD10017
不客氣,謝謝你的接受。 :) – Manhattan
@ BK201我有相同的方法,但在測試期間,我沒有得到所需的結果。這張紙上什麼都沒有發生。所以我沒有發佈它作爲答案。任何想法爲什麼? :) – L42