返回列表 上一主題 發帖

[發問] abc-8888 自動轉化 ABC-888...

以前問過一模一樣的需求, 只是身份證號換成車號,
又要問一次, 這又怎麼學得到東西呢???

TOP

本帖最後由 准提部林 於 2020-6-9 11:11 編輯

回復 7# cypd

以下藍色字都要copy到


Dim CK%

Private Sub Worksheet_Change(ByVal Target As Range)
Dim xR As Range
With Target
     If .Columns.Count > 1 Or .Column <> 5 Then Exit Sub
     If CK > 0 Then Exit Sub
     On Error GoTo 999
     CK = 1
     For Each xR In .Cells
         If xR.Row < 3 Or xR.Value = "" Then GoTo 101
         xR.Value = UCase(xR.Value)
101: Next
End With
999: CK = 0
End Sub

TOP

回復 9# cypd


不是一言兩語可說清,
先逐行去理解吧!
若連.row, .value, .column, .columns都不懂, 解釋了也沒用~~

試著將每行了解一下, 並做註解

CK 用來替代 Application.EnableEvents
避免"反覆觸動", 造成當機~~

ON ERROR GOTO 999
若程式執行錯誤中斷, 會直接去執行 999:CK=0
否則下次就不能產生CHANGE事件~~

TOP

        靜思自在 : 願要大、志要堅、氣要柔、心要細。
返回列表 上一主題