Board logo

標題: [發問] 用VBA讓固定欄位小寫自動轉大寫 程式失效的原因? [打印本頁]

作者: kim595    時間: 2011-3-17 11:46     標題: 用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 欄會陸續增加新欄位

不知道為什麼 程式不起作用了
煩請各位前輩多提點,感恩,多謝 :)
作者: GBKEE    時間: 2011-3-17 12:12

回復 1# kim595
正常可運行阿!
請附檔看看
作者: Hsieh    時間: 2011-3-17 13:19

回復 1# kim595
執行以下程序後再試試看
Sub NN()
Application.EnableEvents = True
End Sub
作者: kimbal    時間: 2011-3-20 14:55

本帖最後由 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
複製代碼

作者: GBKEE    時間: 2011-3-20 20:35

樓主的程式沒問題,可是沒傳檔上來,是找不出問題的
作者: kim595    時間: 2011-3-21 09:26

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

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




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)