返回列表 上一主題 發帖

[發問] 用VBA讓固定欄位小寫自動轉大寫 程式失效的原因?

[發問] 用VBA讓固定欄位小寫自動轉大寫 程式失效的原因?

使用前輩提供的語句:

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [$E$12:$E$65536]) Is Nothing Then Exit Sub 'e欄小寫轉大寫
Application.EnableEvents = False
Target = UCase(Target)
Application.EnableEvents = True
End Sub

============

此工作表 無任何儲存格合併
E 欄會陸續增加新欄位

不知道為什麼 程式不起作用了
煩請各位前輩多提點,感恩,多謝 :)

謝謝各位前輩熱心的幫我找解決的方法,非常感恩與多謝

試了Hsieh 板大的方法後又可行了,
真的好奇怪 @@
有時間我會再研究看看kimbal 大大的方式
若有問題會再提出來請教各位

TOP

樓主的程式沒問題,可是沒傳檔上來,是找不出問題的

TOP

本帖最後由 kimbal 於 2011-3-20 15:02 編輯

先試Hsieh 兄的

再改改(同1時間改多格):
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. If Intersect(Target, [$E$12:$E$65536]) Is Nothing Then Exit Sub 'e欄小寫轉大寫
  3. Application.EnableEvents = False
  4. For Each c In Target
  5. c.Value = UCase(c)
  6. Next
  7. Application.EnableEvents = True
  8. End Sub
複製代碼
懂得發問,答案就會在其中

今日の一秒は  明日にない
http://kimbalko-chi.blogspot.com
http://kimbalko.blogspot.com

TOP

回復 1# kim595
執行以下程序後再試試看
Sub NN()
Application.EnableEvents = True
End Sub
學海無涯_不恥下問

TOP

回復 1# kim595
正常可運行阿!
請附檔看看

TOP

        靜思自在 : 看別人不順眼,是自己修養不夠。
返回列表 上一主題