我写了一个宏来检查特定单元格的更改。如果单元格中的新值不符合某些条件,则它会进入编辑模式,并使用键盘快捷键选择该单元格中的所有文本。
这段代码总是进入编辑模式,但通常无法选择文本。我正在寻找更可靠的方法。有什么想法吗?
以下是整个宏:
Application.SendKeys ("{HOME}+{END}")
这段代码总是进入编辑模式,但通常无法选择文本。我正在寻找更可靠的方法。有什么想法吗?
以下是整个宏:
Private Sub Worksheet_Change(ByVal Target As Range)
' -------------------------------
' Only run the macro if a single cell is selected
If Target.Cells.CountLarge > 1 Then Exit Sub
' -------------------------------
' Declare variables
Dim cell As Range
Dim AccountToFind As String
' -------------------------------
' Assign values to shared variables
AccountToFind = Target.Value
' -------------------------------
' Validate change in HEADER, column D
If Not Intersect(Target, Target.Worksheet.Range("D:D")) Is Nothing And Target.Value <> "" Then
For Each cell In Sheets("_coding references").Range("AccountsPayable[NAME]")
If cell.Value = AccountToFind Then Exit Sub ' passed validation
Next cell
Target.Select
MsgBox ("'" & AccountToFind & "'" & vbNewLine & vbNewLine & "This is not a listed A/P account!")
' --------------------------------------------------------------
' --------------------------------------------------------------
' HERE'S THE PROBLEMATIC CODE
' --------------------------------------------------------------
Application.SendKeys ("{F2}{HOME}+{END}")
' --------------------------------------------------------------
' --------------------------------------------------------------
' --------------------------------------------------------------
End If
End Sub