[英]Excel: How can I add code to a lost focus Event of a cell?
有沒有辦法將代碼添加到工作表中單元格的LostFocus事件?
我想添加代碼以保持失去焦點的單元格的前50個字符:
If Len(ActiveCell.FormulaR1C1) > 50 Then
ActiveCell.FormulaR1C1 = Left$(ActiveCell.FormulaR1C1, 47) + "..."
End If
沒有迷失焦點事件。 試試這個
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Static OldRange As Range
If Not OldRange Is Nothing Then
If Not OldRange.HasFormula Then
If Len(OldRange.Value) > 50 Then
OldRange.Value = Left$(OldRange.Value, 47) + "..."
End If
End If
End If
Set OldRange = Target.Cells(1, 1)
End Sub
注意,我認為您不想使用FormulaR1C1
因為如果您碰巧有一個公式,其自身的公式超過50個字符,則發布的代碼會將無效的公式放入單元格中。 我發布的內容忽略了公式,即使它們返回的結果超過50個字符。 如果需要,可以將其更改為將公式轉換為截斷結果。
另請注意,這會很難處理多單元格選擇。 在這方面,您必須仔細考慮您的用例。
Private Sub Workbook_SheetSelectionChange(ByVal Sheet As Object, ByVal Target As Range)
End Sub
使用它你可以看到你改變了,如果你保留一個變量,你應該能夠輕松跟蹤它
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.