~ 上傳‧分享‧網賺 ~
~ 免費上傳空間‧請即申請 Freak Share ~
~ 進入後請點選左上角 注冊 ! ~
~ 聲明事項 ~
如各位想把以下本文章轉貼 , 請記得要注明出處.
本文章之內容為本人之經驗所寫, 絕無抄襲成份, 特此聲明.
由於圖片製作需時, 所以更新會比較慢.
存放圖片的 SHARE A PIC SERVER 可能讀取速度較慢, 請耐心等待.
用 EXCEL 來處理數據 , 沒可能只有一條吧 ~ 對不 ?
數據是一天比一天多的 , 那麼 , 如果我們的程式設計不能夠自動尋找最後一個數據的位置 , 來確定新數據的儲存位置 , 那你的程式設計就肯定有問題了 ~
之前在那幾十編的教學文章內有提到過的 , 現在再精要地再說一次吧 ~
首先 , 要做到這個效果的話 , 條件是數據的記錄必須要是一行接一行的 , 當中不能夠有任何空白 , 否則會出問題 .
假設你的報表中 , 從儲存格 A1 到 A1000 全部都有記錄 , 現在你要在儲存格 A1001 要程式自動增加資料 , 首先要做的當然就是尋找最後一個記錄的位置了 ~ 你當然會想到 , 就是 A1001 那個儲存格嘛 ~ 但是我要告訴你 , 電腦很笨的 , 你不告訴它的話 , 它是不會知道的 , 看一下程式碼 , 這幾句就足夠叫你的電腦明白最後一個數據在那裡了 ~
==================
Worksheets("Sheet1").Range("A1").Select
ActiveCell.End(xlDown).Select
LastRec = ActiveCell.Row
==================
首先要電腦選擇工作頁 SHEET 1 的儲存格 A1 , 然後由這個儲存格開始往下找 , 直到找出最後一個數據的位置 , 然後再利用變量LastRec 把這個行號記下來 ~
當你要記錄新數據的時候 , 只需要好好的利用變量 LastRec 所記下來的值就什麼都好辦了 ~
當然 , 之前的教學文章中有提過 , (xlDown) 這傢伙是有親戚的 , 當中包括了 UP , LEFT 和 RIGHT , 按照不同的情況需要而修改程式碼吧 ~
哦 ~ 對了 ~ 有些人會喜歡用另一種方法來尋找最後一個數據記錄位置的 , 程式碼大概是這樣 :
==================
Worksheets("Sheet1").Range("A65536").Select
ActiveCell.End(xlUp).Select
LastRec = ActiveCell.Row
==================
不過如果你的電腦比較笨 , 有時候會把那個檔案的大小一下子變得很恐怖 , 我真的有這種經驗 , 一下子把我的檔案由幾百個 KB 搞成 幾個 MB , 真的是嚇死我 , 打開的時候還要慢得要死 ~
所以記得哦 ~ 一定要小心點用 , 否則程式出了點小問題的話 , 很可能會有奇怪的事情發生哦 ~
2 留言:
版大您好,
xldown那個方法,碰到a列全空或只有a1有東西時,會跑到a65536去,所以是錯的...
Hi Para ,
這個方法是正確的 , 只是使用時會有可能出現人為問題 , 比如說 , 如你所說的 A 例全都是空白 , 就會跳到 65536 去 , 所以我在之前的初階教學文章內有提到 , 先要確定好第一個記錄出現了沒有 :)
而用 XLDOWN 比 XLUP 來得好的原因是使用 XLUP 時 , 你要先預定一個最後的位置 , 正如文章所提到的
Worksheets("Sheet1").Range("A65536").Select
ActiveCell.End(xlUp).Select
LastRec = ActiveCell.Row
預定的最後一個記錄是 65535 , 使用這個方法的話 , 檔案會很大 , 很容易出問題 , 所以 XLDOWN 會比 XLUP 方便 , 至於怎樣才能正確運用 END(XLDOWN) 這個指令 , 你可以參考一下我之前的教學文章 :)
發佈留言