如何通過簡單地點擊它在Excel單元格中插入字符?再次單擊單元格將從單元格中移除該字符。通過單擊插入單元格中的字符
例如: 我有一個單元格區域,A1:A10。如果我點擊此範圍內的某個單元格,則在該特定單元格上插入「X」,再次單擊該單元格將刪除「X」。
這可以通過分配給宏的按鈕來完成嗎? (該按鈕將分配給特定的單元格)
如何通過簡單地點擊它在Excel單元格中插入字符?再次單擊單元格將從單元格中移除該字符。通過單擊插入單元格中的字符
例如: 我有一個單元格區域,A1:A10。如果我點擊此範圍內的某個單元格,則在該特定單元格上插入「X」,再次單擊該單元格將刪除「X」。
這可以通過分配給宏的按鈕來完成嗎? (該按鈕將分配給特定的單元格)
我有一個單元格範圍,A1
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean) If IsEmpty(Target.Cells) Then Target.Cells.Value = "x" Else: Target.Cells.Clear End If Cancel = True End Sub
代碼:A10。如果我點擊此範圍內的某個單元格,則在該特定單元格上插入「X」,再次單擊該單元格將刪除「X」。
當您使用Worksheet_BeforeDoubleClick
時,您必須非常小心。如果您在代碼中沒有注意到這一點,那麼只要有雙擊,代碼就會觸發。也可以適當使用Cancel = True
否則可能會得到不希望的結果。
這是你正在嘗試?
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, _
Cancel As Boolean)
'~~> Check if the double click happened in Range A1:A10
'~~> Also notice the placement of `Cancel = True`
If Not Intersect(Target, Range("A1:A10")) Is Nothing Then
'~~> Check if the cell is empty
If Len(Trim(Target)) = 0 Then
Target.Value = "X"
Cancel = True
'~~> Check if the cell already has X. This is to ensure that
'~~> the cell is not cleared if the user has typed something
'~~> else in the cell.
ElseIf UCase(Trim(Target)) = "X" Then
Target.ClearContents
Cancel = True
End If
End If
End Sub
這似乎不是一個好方法。爲什麼不使用下拉菜單? 轉到數據 - >驗證選擇一個列表。您可以從Excel範圍中選擇您的選項列表,或者簡單地指定像這樣的列表「Item1; Item2」等。
使用任何VBA將阻止使用Excel中的撤銷功能意思 - 任何時候宏在Excel中執行所有撤消歷史記錄都將被清除。進行更改時非常不方便。
我建議使用雙擊進入/刪除值。如果你確定使用雙click..then下面的代碼爲:需要被放置在的ThisWorkbook對象
是的,這項工作很完美。謝謝 – 2014-10-06 13:08:54