- 帖子
- 835
- 主題
- 6
- 精華
- 0
- 積分
- 915
- 點名
- 0
- 作業系統
- Win 10,7
- 軟體版本
- 2019,2013,2003
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2010-5-3
- 最後登錄
- 2024-11-14
|
2#
發表於 2013-8-30 00:08
| 只看該作者
本帖最後由 luhpro 於 2013-8-30 00:22 編輯
ayubbs 發表於 2013-8-29 22:46 
1. 如要開啟檔案在同個目錄下時,是否可不指定路徑方式而開啟檔案
Workbooks.Open ThisWorkbook.Path & "\AA.xls"
2. Sheet 與 userform 中的 CommandButton 物件處理,
程式碼內容都相同實在不了解是何原理會這樣?
因為 用userform方式再加入CommandButton按鈕,
執行時的指令大都在該 userform 的程序內,
故而往往不需指定 CommandButton 按鈕的父物件(userform)就可正常使用.
然而相對於在 SHEET 中加入的 CommandButton 物件,
雖然兩者都是 CommandButton 物件,
但後者有些指令是沒有的,
例如 : CommandButton1.TabIndex
還有在 SHEET 中的 CommandButton 物件在引用時,
可能常常需要用 Sheet("Sheet1").CommandButton1 的方式才能正常使用
(當指令非在該物件本身的事件程序<CommandButton1_Click 之類>中時, 例如 : Worksheet_Change).
3. 有一些問題我可以在錄製內容中完成,想在錄製內容進行到某一部份時加入執
行以VBA 方式的程式然後再繼續進行我錄製的內容但因不熟悉使用方式,都一直不能成功。
不能正確完成動作大都是套用錯誤,
你要先確認你想做的是什麼,
程式寫好後可以在問題發生前的指令行,
用滑鼠點一下其左邊的灰色區域開啟中斷模式.
按 F5 按鍵執行到該行程式會暫停,
再利用 F8 按鍵的單步模式,
先確認下一行即將執行的指令中的相關變數或物件是否為正確值.
取值可將滑鼠移到想追蹤的變數或物件名稱上不動幾秒就會秀出其現在值,
或是開啟 區域變數 視窗確認變數值是否正確,
也可於 即時視窗中 善用 ? 指令求值.
再於 即時視窗中 實做該行指令,
看是否動作或顯示的結果正常,
這樣一步一步的找出問題點.
另外在即時視窗中不能正常執行 With 指令,
所以必須先將 . 代換成完整的物件引用指令才能正常運作,
例如 :
With Sheets("Sheet1")
With .Cells(2, 3)
With .Font
.Name = "新細明體"
.Bold = True
.ColorIndex = 1
End With
End With
End With
其中 在即時視窗 要實做出 .Name = "新細明體" 這行指令的結果,
就要改成 Sheets("Sheet1").Cells(2, 3).Font.Name = "新細明體" 才可以.
還有若指令太長不好記憶或是不確定接下來該下哪個參數時,
可以先在即時視窗上用以下的方式來抓正確的指令碼:
range.
sheets.
range.Find(
以上是我設計 Excel VBA 程式時碰壁了無數次,
才試出來的技巧. |
|