~ 上傳‧分享‧網賺 ~
~ 免費上傳空間‧請即申請 Freak Share ~
~ 進入後請點選左上角 注冊 ! ~
~ 聲明事項 ~
如各位想把以下本文章轉貼 , 請記得要注明出處.
本文章之內容為本人之經驗所寫, 絕無抄襲成份, 特此聲明.
由於圖片製作需時, 所以更新會比較慢.
存放圖片的 SHARE A PIC SERVER 可能讀取速度較慢, 請耐心等待.
呵呵呵 ~ 你好嗎 ~ 頭有痛嗎 ~ 哈哈 ~ 又來到給你答案的時候了哦 ~ 看好了 ~
( Pic15_1 )
如果你想出了上面的一堆程式碼 , 就足以證明你真的用心嘗試過了 , 不過我想跟你說 , 有時候 , 在我們編寫程式時所遇到的問題 , 解決方法不一定只有一個的 , 我們應該要向著小一點的程式碼來想 , 如果想出了一個成功解決問題而且程式碼比較少的 , 我們都應該要採用 , 因為這樣才可以加快程式的運作時間 , 如果你的程式功能很龐大而且複雜 , 你就更加要想出一切可能的方法 , 選一個最好的 .
( Pic15_2 )
正如上面程式碼 , 這是有同樣功能但是只需要一句程式碼的解決方法 , 先解釋一下 , Worksheets("Sheet1").Range(Cells(LastRec + 1, 1), Cells(LastRec + 1, 11)).Value = "" 這句程式碼內 , Range 的部份很奇怪吧 , 為什麼會有 Cells 這個字的 , 其實 Cells 就是指儲存格了 , Cells(LastRec + 1, 1) LastRec + 1 就是我們要的列 , 後面的 1 是指行 "A" , 如果是 2 的話就是指行 "B" 了 , 嘿嘿嘿 ~ 很有趣吧 ~ 哈哈 ~ 一句程式碼就可以代替了十多句的程式碼哦 ~
你一定要記住 , 當你所認識到的指命越來越多的時候 , 你就一定要學會變通 , 使用最少的程式碼來做最多的事情 , 這樣你的程式就一定可以跑得更快 , 使用者還會送你一句 " 利害 ~ " 哈哈哈 ~~~
哦 ~ 對了 ~ 忘了告訴你 , 記得要在 模組 DataEntry 內的 Sub Entry() 的 FIRST: 部份加回啟動 AddRecord 的程式碼哦 ~
( Pic15_3 )
下面多了一句程式碼 ?? 自己想想有什麼用吧 ~ 沒用的我就不放在這裡嚕 ~ 嘿嘿嘿 ~ 之前有說過的 XD
下一回 , 我們就來一個總結吧 ~ 還有要告訴你一些在使用 EXCEL - VBA 時 , 你必須要知道的限制 ~ 下一回再見嚕 ~ 88 ~
5 留言:
威廉先生你好:
我又來麻煩你了~
(在 Part15 - VBA 學習第十四回 - 不同的解決方法)
如果把這一段
Worksheets("Sheet1").Range(Cells(LastRec + 1, 1), Cells(LastRec + 1, 11)).Value = ""
改成這樣
Worksheets("Sheet1").Range("A" & LastRec + 1 & ":K" & LastRec + 1).Value = ""
結果也是會把 某一列 的A至K儲存格 清空, 這樣可以嗎?
阿佩2009/4/2
HI ~ 阿佩 ~
其實我之前都有想過這個方法是不是可行的, 不過, 好像是不行的, 因為程式碼在同一組 () 內出現了兩組 "" , 這樣的話應該是會出問題的~
有空等我再測試一下 ~ 不過結果應該會如我所說的~ 如果我沒有記錯的話 ^^"
威廉先生你好:
我是VBA初學,看到你這網站非常有用呢!!
謝謝喔~
有個問題想要請問
就是Worksheets("Sheet1").Range(Cells(LastRec + 1, 1), Cells(LastRec + 1, 11)).Value = ""
可以使用$這符號來指定那一行嗎??變成
If UserForm1.TextBox1.Text = "" Then Worksheets("sheet1").Range("$a & lastrec + 1:$k & lastrec + 1").Value = ""
謝謝~
圖片好像都掛掉了,我點圖片都不能顯示了,能解決嗎?
發佈留言