返回列表 上一主題 發帖

[發問] 使用VBA自訂範圍資料驗證失敗

本帖最後由 HUNGCHILIN 於 2015-3-7 23:54 編輯

回復 10# PKKO
阿吉測試時把程式貼在,Sheets("轉換表") 的工作表程式区内,故直接用Me,就可以了,
如果程式放在 模組1 内,就一定要指定,with Sheets("轉換表"),
我通常較少用 Sheets("轉換表")的寫法,因為改Sheet名稱程式就會報錯誤提示。
有時用Sheet1,Sheet2寫法較佳。
Hung-Chi Lin/林宏吉
HUNGCHILIN/林宏吉的OFFICE專欄

TOP

本帖最後由 PKKO 於 2015-3-8 01:32 編輯

感謝版主大大,原來如此!

但想問一下,若是已經放在該SHEET內的程式碼

不就可以直接使用ex: CELLS(1,1),不需要WITH

還是說透過WITH 裡面[ . 的程式碼]執行速度會比較快?
PKKO

TOP

回復 12# PKKO
不是速度快,可指定這物件的屬性,子物件
  1. With Cells(1, 1)
  2.         .Value = 555
  3.         .Interior.Color = vbRed
  4.         With .Font
  5.             .Bold = True
  6.             .ColorIndex = xlAutomatic
  7.         End With
  8.    End With
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 13# GBKEE


    恩恩,感謝!

   但若是已經放在該SHEET內應該就可以直接用 Rows(1).Find("所有單位", Lookat:=xlWhole).Column '代號的Column

而不用使用以下的寫法
WITH ME
   .Rows(1).Find("所有單位", Lookat:=xlWhole).Column '代號的Column
END WITH

當然版主大大是因為直接修改我的程式碼會比較快,但除此之外
如果是自己撰寫程式碼的話,WITH ME因該是沒有存在的必要?(假設已經將程式碼放置在該SHEET內的話)
還是有其他的用法?
PKKO

TOP

本帖最後由 HUNGCHILIN 於 2015-3-9 00:24 編輯

只是單純的測試程式,沒別的
簡化程式,很好的想法
Hung-Chi Lin/林宏吉
HUNGCHILIN/林宏吉的OFFICE專欄

TOP

回復 14# PKKO


   
WITH ME因該是沒有存在的必要?(假設已經將程式碼放置在該SHEET內的話)
也不是如此的說法,可簡化程式碼的key in .

如圖 工具->選項 的勾選
如對vba的語法不熟,也可加快程式碼的編寫,熟悉.


感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 16# GBKEE


   嗯嗯嗯!我了解了,確實也可以加快撰寫程式碼的速度,謝謝哦!!
PKKO

TOP

        靜思自在 : 君子為目標,小人為目的。
返回列表 上一主題