應該是一個簡單的,但無法弄清楚。在 Col A 中,如果 A3 = No,滑鼠游標移動到 F3,那很好,在 Col A 中,如果 A4 = No,滑鼠游標移動到 F4,依此類推
我似乎可以找出正確的代碼或如何正確撰寫代碼
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(False, False) <> "A3" Then Exit Sub
Application.EnableEvents = False
If Target.Value = "No" Then
Range("F3").Select
End If
Application.EnableEvents = True
End Sub
到目前為止,這就是我讓它對一個細胞起作用的原因
uj5u.com熱心網友回復:
作業表更改:有條件地偏移
Private Sub Worksheet_Change(ByVal Target As Range)
Const FirstCellAddress As String = "A3"
Const ColumnOffset As Long = 5
Const Criteria As String = "No"
Dim irg As Range
With Range(FirstCellAddress)
Set irg = Intersect(.Resize(Rows.Count - .Row 1), Target)
End With
If irg Is Nothing Then Exit Sub
Dim arg As Range, cCell As Range
Dim a As Long, c As Long
For a = irg.Areas.Count To 1 Step -1
Set arg = irg.Areas(a)
For c = arg.Cells.Count To 1 Step -1
Set cCell = arg.Cells(c)
If StrComp(CStr(cCell.Value), Criteria, vbTextCompare) = 0 Then
cCell.Offset(, ColumnOffset).Select
Exit For
End If
Next c
Next a
End Sub
uj5u.com熱心網友回復:
檢查是否Target在 A 列中,如果是,則移至 F 列中的同一行:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Me.Range("A:A")) Is Nothing Then Exit Sub
If Target.CountLarge > 1 Then Exit Sub
If Target.Value = "No" Then
On Error GoTo SafeExit
Application.EnableEvents = False
Me.Range("F" & Target.Row).Select
End If
SafeExit:
Application.EnableEvents = True
End Sub
請注意,.Select-ing 不會導致更改事件重新觸發,因此如果您有SelectionChange不想執行的事件處理程式,則只需禁用事件。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/473420.html
