~ 上傳‧分享‧網賺 ~
~ 免費上傳空間‧請即申請 Freak Share ~
~ 進入後請點選左上角 注冊 ! ~
~ 聲明事項 ~
如各位想把以下本文章轉貼 , 請記得要注明出處.
本文章之內容為本人之經驗所寫, 絕無抄襲成份, 特此聲明.
由於圖片製作需時, 所以更新會比較慢.
存放圖片的 SHARE A PIC SERVER 可能讀取速度較慢, 請耐心等待.
首先 , 我相信你應該清楚明白 , 把一個工作頁中的數據複製後 , 再利用 VBA 對數據進行處理 , 對你的數據更加有保障 , 對吧 ~
但是 , 我們在設計程式時 , 不可能先用人手複製需要的工作頁再執行 VBA 程式那麼笨吧 ~ 對不對 , 所以 , 複製工作頁這個沉悶的動作 , 交給電腦來做實在是再合理不過了 ~
你記得複製的英文是什麼嗎 ?
就是 COPY 嘛 ~ 簡簡單單的一個英文字 , 就可以做到我們想要的東西了 ~
==================
Worksheets("Sheet2").Copy after:=Worksheets("Sheet3")
==================
上面的這句程式碼 , 意思是把工作頁 Sheet2 複製 , 然後把複製出來的工作面放到工作頁 Sheet3 後面 . 當然 , 有正必有反 , 所以 AFTER 當然就有 BEFORE 了 ~ 呵呵呵呵
如果把 AFTER 變成 BEFORE 的話 , 那麼 , 執行的結果嘛 ~ 自己看看吧 ~ 呵呵 ~ 不作詳細解釋了 ~
可能你又會問了 , 我並不是想把一頁面複製到另一個頁面的前面或者後面哦 ~ 我要把複製出來的放到一個新的檔裡 , 那我要怎樣辦 ?
這個可簡單了 ~ 只要把那個 BEFORE 或者是 AFTER 之後的所有都刪掉 , 使程式碼變成 :
==================
Worksheets("Sheet2").Copy
==================
這樣就 OK 了 ~ 哈哈 ~ 很簡單吧 ~
好 ~ 原理都明白了嗎 ? 那麼移動工作頁要怎麼辦呢 ?
只要把 COPY 改成 MOVE 就可以了 , 也是一樣 , 都是 BEFORE 或者 AFTER , 或者是什麼都沒有 .
那刪除呢 ? 也是一樣的吧 ~
錯了啦 ~ 呵呵呵呵 ~
當然 , 原理還是差不多 , 但是就沒有了那些 BEFORE 或者 AFTER , 程式碼如下 :
==================
Worksheets("Sheet2").Delete
==================
但是 , 當你進行刪除頁面這個動作時 , 電腦會問你是不是確定要這樣做的 , 如果你複製出來的工作頁任務已經完成 , 那裡刪掉就是唯一剩下來還未做的動作了吧 ~ 所以 , 電腦問你的那個問題 “ 是不是確定要刪除 ” 就變成多餘了 , 對吧 ~ 要解決這個問題嘛 , 請參考 “ Excel VBA 實用技巧 – 如何關閉提示警告訊息對話框 ”
4 留言:
Hi William,
感謝您的分享,小弟受用非淺.
想請教如果要copy A-workbook 裡的 worksheet 到 B-workbook 裡的 worksheet,能在"不開啟"A-workbook 的情形下在B-workbook 執行一個VBA就可以把A-workbook 裡的 worksheet copy到 B-workbook 嗎?? 謝謝.
Hi Lawrence ~
根據我所理解 , 如果沒有打開相關的 EXCEL 檔而複製目標工作頁的可能性是有的, 不過由於後台操作(意思指並未打開目標檔案) 會有潛在風險 , 包括複製出來的並不是你想要的, 又或者把目標檔案的資料搞亂 , 所以我不太建議你在程式設計時向這個方向考慮 . 不用付錢的嘛~ 叫電腦幫你打開好了 :P 打開了再 COPY :P
然而 , 你的這個問題非常有趣~ 哈哈~ 等我把這個記下來, 想一想要怎樣做 :P ( 貪玩嘛~ 沒法子囉 XD )
Hi William,
感謝您的幫忙,小弟會好好期待.
感謝文章的分享:
請問若要複製的標籤而名稱不固定的話,有什麼語法可用
發佈留言