空間吧,我想寫在Excel宏所以每次我打空格鍵(當我在列我)我要自動發送「太空斜線和空間時間再次」。自動加空格和/當我按在Excel 2003
我按下鍵盤上的空格鍵和結果我得到的空間斜線空間。
我想這只是發生時,即時通訊在細胞上列一
感謝
空間吧,我想寫在Excel宏所以每次我打空格鍵(當我在列我)我要自動發送「太空斜線和空間時間再次」。自動加空格和/當我按在Excel 2003
我按下鍵盤上的空格鍵和結果我得到的空間斜線空間。
我想這只是發生時,即時通訊在細胞上列一
感謝
使用Worksheet_Change事件宏替換與空間斜線空間的空間時,已列內改變所在的值I.
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Columns(9)) Is Nothing Then
On Error GoTo bm_Safe_Exit
Application.EnableEvents = False
Dim rng As Range
For Each rng In Intersect(Target, Columns(9))
'make safe anything that already has been changed
rng = Replace(rng.Value2, "/", ChrW(8203))
'change new spaces
rng = Chr(39) & Replace(rng.Value2, Chr(32), "/")
'try to repait Excel's auto-date-conversion
If IsDate(rng) Then Application.Undo
'restore the safeties
rng = Replace(rng.Value2, ChrW(8203), "/")
Next rng
End If
bm_Safe_Exit:
Application.EnableEvents = True
End Sub
提供一些樣本數據總是一個好主意。我遇到了一些麻煩與Excel自動轉換的轉換價值爲日期,不得不通過在自動更正申請Application.Undo訴諸有點「bandaiding」。嘗試暫時關閉自動更正可能更好,或者根本不需要。
或者,Workbook_SheetChange事件宏可以使整個工作簿中的過程更加全局化,並且可以過濾工作表名稱以接受非過程。
私人小組Worksheet_Change(BYVAL目標作爲範圍) 如果Target.Columns.Count = 1然後 如果Target.Cells.Count = 1然後 如果Target.Column =範圍( 「I:I」)。柱然後 Application.EnableEvents =假 Target.Value = REPLACE(Target.Value, 「」, 「/」) Application.EnableEvents =真 結束如果 結束如果 結束如果
結束子
上面的代碼將按照輸入後的描述轉換空間按鈕。當您處於編輯模式時,它不會替換空間。
你的答案是工作的更好,然後我的。謝謝 – user5992797