返回列表 上一主題 發帖

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

回復 10# 准提部林
感謝版主指導...
積極進取學習中   ^^

TOP

回復 8# 准提部林


    謝謝前輩
後學藉此帖學習到重要技巧,學習心得註解如下,請前輩再指導

Option Explicit
Dim CK%
'↑宣告變數:CK是短整數變數,放在最上端是為了讓此工作表模組都能用

Private Sub Worksheet_Change(ByVal Target As Range)
'↑當使用者或外部連結變更工作表中的儲存格時會發生此事件
Dim xR As Range
'↑宣告變數:xR是儲存格變數
With Target
'↑以下是關於觸發的程序
     If .Columns.Count > 1 Or .Column <> 5 Then Exit Sub
     '↑如果觸發欄數大於1 或觸發欄位不是第5欄!就結束程式執行
     If CK > 0 Then Exit Sub
     '↑如果CK變數大於 0!就結束程式執行
     On Error GoTo 999
     '↑如果以下程式遇到錯誤就跳到標示999位置繼續執行
     CK = 1
     '↑令CK變數是1,讓後方For Each迴圈不會在觸發
     For Each xR In .Cells
     '↑設逐項迴圈!令xR變數是觸發格低其中一格
         If xR.Row < 3 Or xR.Value = "" Then GoTo 101
         '↑如果xR變數所在的列號小於3 或其值是空的,
         '就跳到標示101位置繼續執行

         xR.Value = UCase(xR.Value)
         '↑令xR變數(儲存格)值是英文轉為大寫的新字串
101: Next
End With
999: CK = 0
'↑令CK變數歸零
End Sub
用行動裝置瀏覽論壇學習很方便,謝謝論壇經營團隊
請大家一起上論壇來交流

TOP

回復 12# Andy2483

感謝 Andy2483 另一詳細解說
能好好研讀...^^

TOP

        靜思自在 : 要用心,不要操心、煩心。
返回列表 上一主題