返回列表 上一主題 發帖

[發問] 字串不被接受,會變error 1004,找不出問題

[發問] 字串不被接受,會變error 1004,找不出問題

請問各位先進一個問題
程式如附件 test-20100810.rar (190.81 KB)


我用Sheets(nowSheet).Range("A1").Offset(nowRow, nowCol) = "一串文字"
來放置字串
可是在正在狀況下,執行到nowRow=22959時,字串會被拒絕
為了方便測試
附件的字串我加了一個空白,執行約2次就被拒絕

想很久了不明白,同樣一樣,同樣格式的字串
但就是有些會不被接受

不是七月撞鬼,但真的就是找不出問題
請各位高手幫忙看看

回復 1# mylene


    沒有詳細看,
可以試試把
Dim nowRow
換成
Dim nowRow As Long
懂得發問,答案就會在其中

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

TOP

回復 1# mylene VBA的發問 請到[Excel程式區]
錯誤值1004  
請參閱  Excel 的規格及限制(摘錄自Excel 說明)
http://forum.twbts.com/viewthread.php?tid=36&extra=page%3D1
儲存格內容的長度 (文字) 32,767 個字元。在一個儲存格中僅能顯示1,024 個字元;在資料編輯列顯示全部 32,767 個字元。
請修改你的程式碼如下 試試便知
Sheets(nowSheet).Range("A1").Offset(nowRow, nowCol) = Application.WorksheetFunction.Rept("A", 32767)
Sheets(nowSheet).Range("A1").Offset(nowRow, nowCol) = Application.WorksheetFunction.Rept("A", 32768)

TOP

Dim nowRow As Long  很早以前試過,一樣會錯

第二個建議,我的狀況是存"01.02.03.04.05.06 "這樣長度的字串,都會錯

最煩的是,有時不會錯,有時會錯,這樣就不能判斷是什麼問題了
有測過以為是位置指錯,但是亂丟一個字串如"1111111111111111111"又可以存,偏偏就像上述那樣的字串存不進
又不是固定某一個字串存不進,真的很有撞鬼的感覺
但我相信excel沒有鬼

TOP

試跑了半天也沒出錯。
這樣的程序效率太差了。我實在也沒耐心等六個小時來看看錯在哪裡!

TOP

回復 4# mylene
請問 1004 錯誤值內容  為何


TOP

回復 6# GBKEE


    感謝GBKEE持續幫我回答這個問題
我的1004錯訊是==>執行階段錯誤 '1004' 應用程式定義或物件定義錯誤

我google過網路,找不到和我相同的問題,大部份都是copy時位置指定錯誤
我的部份,我實驗過,是字串會被拒,字串的長度並不是您所指的超過cell可容忍的長度
我的字串只有17的長度,而且,排列組合做下來,前面幾十萬都沒問題,可是就是會在執行6小時左右(有時更長,有時則更短)
同一行程式,就被標error 1004
這才是我想不透的點
一般來說,有錯,第一次執行時就會錯

真的不知道為什麼,每測一次就要那麼久,我也覺得很考驗耐心,程式碼又看不出什麼問題
真的要求助於各位高手了

TOP

回復 7# mylene
1004錯訊是==>執行階段錯誤 '1004' 應用程式定義或物件定義錯誤
試試加上這一行  運行速度會慢一些  待有錯誤時 打開即時運算視窗 查看 這4 個變數便知錯誤 在何處
    Debug.Print nowSheet, nowRow, nowCol , Temp
    Sheets(nowSheet).Range("A1").Offset(nowRow, nowCol) = Temp  '有時這行會被拒絕置入

TOP

回復 8# GBKEE


    感謝您的回覆
  所有可猜疑的變數我都有用監看式看過

  執行到 sheets(2).range("a1").offset(22959,66)="06.xx.xx.xx.xx.48" (對不起,字串記不起來)
  一定會錯
  曾在偵錯的狀況下
請它執行sheets(2).range("a1").offset(22959,66)="1111111111111",順利寫入
但下一行,sheets(2).range("a1").offset(22959,66)="06.xx.xx.xx.xx.48",它又是跳出錯誤訊
就是這樣像撞鬼的狀況,才會讓我想破頭也想不出原因錯在哪裡
求助於各位高手....難到要買乖乖請excel嗎?(說笑)

TOP

回復 9# mylene
執行到 sheets(2).range("a1").offset(22959,66)="06.xx.xx.xx.xx.48" (對不起,字串記不起來)   一定會錯
請試著把字串 找出來 大家參考

TOP

        靜思自在 : 謊言像一朵盛開的鮮花,外表美麗,生命短暫。
返回列表 上一主題