1
我寫了一個宏,檢查某些單元格的更改。如果在單元格中的新值不符合一定的標準,它進入編輯模式的單元格,選擇在該單元格使用鍵盤快捷鍵的所有文字:轉到單元格編輯模式,並選擇所有單元格文本與VBA
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