請將以下程序放到工作表的代碼部分(確保已經啟用宏)
Dim tRange As String '保存上一次所訪問的范圍
PRivate Sub Worksheet_Activate() '當從別的工作表切換到本工作表時出現提示
MsgBox ("在R3中輸入學號并按回車鍵后會自動定位到所找學生行,輸完內容后按右箭頭回到R3!!")
MsgBox "已經使用:(" & Sheet1.UsedRange.Rows.Count & "行," & Sheet1.UsedRange.Columns.Count & "列)"
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Lie '定義你要輸入分數的列,A:1,B:2,C:3,D:4,E:5……
Lie = 8 '假定默認為在第8列即H列中輸入分數
'以下判斷是否在R3中輸入待查找學號
If (Target.Row = 3) And (Target.Column = 18) And (ActiveCell.Value <> "") Then
For Each c In [A4:A120]
If Trim(c.Value) Like ("*" & Trim(ActiveCell.Value)) Then
Range(c.Address & ":" & Chr(Asc("A") - 1 + Lie) & c.Row).Select
tRange = Selection.Address '將選定的范圍保存到臨時變量中
Selection.Interior.ColorIndex = 33 '選中后背景顏色的變化
Selection.Interior.Pattern = xlSolid
c.Offset(0, Lie - 1).Select '選定區域中最后一單元格
Exit For '已經找到目標學號退出繼續查找程序
End If
Next
ElseIf (Target.Column = Lie) And (ActiveCell.Value <> "") Then
If tRange <> "" Then
Range(tRange).Select
Selection.Interior.ColorIndex = xlNone
End If
Range("R3").Select
End If
End Sub
新聞熱點
疑難解答