返回列表 上一主題 發帖

[發問] 檔案過大~函數有沒有辦法轉成VBA

[發問] 檔案過大~函數有沒有辦法轉成VBA

本帖最後由 GBKEE 於 2014-2-14 06:51 編輯

請問各位大大們
此附件中函數有沒有辦法轉成VBA

因為資料太多如果全部都用函數顯示檔案大到很難開啟
有想過用巨集錄製的方式
但是函數沒辦法錄製

小弟真的很頭疼
煩請有空的大大們幫幫小弟囉

函數換成vba.rar (9.51 KB)

回復 2# Hsieh


  萬分感謝GBKEE大大
小弟測試結果,成功減少檔案過大讀取時間太長的問題

TOP

回復 3# GBKEE

再次詢問 GBKEE 大大
您第一次給小弟的代碼
單一個複製使用可行
但第二次的代碼
單獨複製代碼無法使用
但是兩者一同複製代碼一同使用卻可以
但是結果好像都是相同的
那小弟如果要新增或減少東西該用哪個方式
進行使用

TOP

回復 6# GBKEE

感謝GBKEE大大
是小弟自己糊塗
原來2者皆相同
只是第二次的代碼是直接驗算的
小弟沒問題了
後續小弟再自行研究研究
謝謝大大

TOP

回復  gn00487767
GBKEE 發表於 2014-2-14 11:04


請教大大
小弟發現這次的代碼有誤呢
驗證後顯示的日期是顛倒的
所以驗證完全不行

TOP

回復 3# GBKEE

再次請教GBKEE大大
其中
08.Sub Ex1()  '算出"名單"上E欄的數值
09.    With Sheets("驗證").[E2:E20]
10.        .Cells = "=CHOOSE(MATCH(CLEAN(名單!RC5),{""第一類"",""第二類"",""第三類"",""第四類"",""第五類""},0),5,3,1,0,8) " '=EDATE(名單!F2,E2)
11.                 '=CHOOSE(MATCH(CLEAN(名單!$E2),{"第一類","第二類","第三類","第四類","第五類"},0),5,3,1,0,8)
12.        .Cells = .Value '公式轉成值
13.    End With
它顯示出來的日期跟我的日期格式是顛倒的
所以驗證結果都是錯誤的
小弟應該如何做修改
煩請大大費心

TOP

回復 3# GBKEE

GBKEE大大抱歉小弟看錯了
應該是下面才對
        With Sheets("驗證").[B2:B20]
        .Cells = "=EDATE(名單!F2,驗證!E2)"
        '=EDATE(名單!F2,E2)
        .Cells = .Value '公式轉成值
    End With
這邊驗證後的日期格式是顛倒的

TOP

本帖最後由 gn00487767 於 2014-2-17 12:16 編輯

回復 11# GBKEE

這程式執行後的日期正確嗎?
執行後的日期是正確的沒錯
但是原本應該是 2014/03/01 變成了3/1/2014 所以導致驗證全部變成無效
但是 第一位大大給小弟的代碼 是可行的
只是第一次的代碼小弟真的無法理解再作修改
第二次的代碼(即此次發生錯誤的代碼)因為是分開的而且您有附加說明
所以小弟能自行修改 所以才想套用您給小弟的代碼
或是大大能把第一位大大給的代碼分段和附加說明嗎
勞煩大大了

TOP

回復 13# GBKEE


小弟測試結果
如果把公式轉成值都拿掉
就恢復正常
都加上公式轉成值就會變成全都無效   
但如果公式不拿掉檔案還是那麼大

函數換成vba方法(無效).rar (10.21 KB)

TOP

回復 15# GBKEE

是的小弟是2003版的
您的也是嗎
可是小弟這邊看
怎麼原本的資料是20XX/03/01
驗證那邊加上月數的日期變成 03/01/20XX
然後結果那邊就全部無效了

TOP

        靜思自在 : 得理要饒人,理直要氣和。
返回列表 上一主題