返回列表 上一主題 發帖

overflow溢位之記憶體問題

overflow溢位之記憶體問題

大家早,最近小的發現程式有溢位,檢查了一個晚上試試看每個變數"大概錯哪"都還是找不到  

不知道這有沒有可能是程式碼打錯 ex.陣列大小?sheet範圍?
請問一下

1.各位大大會不會在coding時用VBA寫destructor 回收物件的記憶體空間?  ^^
     我依稀記得有個指令"nothing"似乎跟回收物件有關 但F1寫要全部物件回收 記憶體空間才會釋放?
2.請問各位大大如何抓溢位的問題呢?或者有更好的建議方法 小的只有區區5百多行code就眼花了@@a

看來自己寫的都看不快也找不出bug 真的要好好加強一下coding style ^^"

謝謝各位願意看完這篇文章^ ^

本帖最後由 kimbal 於 2012-7-15 09:11 編輯

溢位 不一定代表記憶體不足, 而大部份時候是在說變量定義有問題.

VBA常見的是 integer, 由於integer最大是32767,
如果用在行數上(row) 就不能對應 32767行以上的東西,
例如下圖, 要轉用long
dim a as long
twbts20120715overflow.jpg
2012-7-15 09:05


解決方法是用偵錯模式, 運行一下程序
有問題的話, vbe會顯示錯誤的是那一行 (按上圖偵錯), 然後看看變量有沒有問題.

其實無論代碼出什麼問題, 先用偵錯模式來找出錯在那,這才是王道
懂得發問,答案就會在其中

今日の一秒は  明日にない
http://kimbalko-chi.blogspot.com
http://kimbalko.blogspot.com

TOP

謝謝 kimbal 我今天有照著操作

TOP

        靜思自在 : 【蒙蔽的自由】人常在什麼都可以自由自在的時候,卻被這種隨心所欲的自由蒙蔽,虛擲時光而毫無覺知。
返回列表 上一主題