返回列表 上一主題 發帖

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

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

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


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

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

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

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

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

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

TOP

回復 6# GBKEE


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

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

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

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

回復 10# GBKEE


    這個字串是沒什麼特殊的
   因為它單獨用指定時一樣寫得進去
   但是同一行程式再run個一百多次後,又踢出一個
   同樣格式,所以無法以某一個字串做特別處理
   打個比方,您可能就懂我的意思
   假設有一個100長度的陣列,我分別放1到100
     偏偏有時它會45,或38被拒,下次又換56,72被拒
   並不是那數字有什麼不一樣,都是數字,可是就會發生錯誤

   又不是一開始就錯才很難找出問題在哪

TOP

回復 12# yangjie


    感謝您的回覆
在字串前加一個"'"也有試過,那一組過得去,接下來,其他有帶" ' "的又會遇到同樣的錯誤
已經不是加不加'的問題,而是,不知道為什麼excel會不接受字串
有鬼的又是在debug時,同一個位置,指定一個隨便設的字串,又接受

真的想破頭了

TOP

回復 15# yangjie


    感謝您的回覆
在我之前走投無路時,雖然理智上根本覺得不會是這個問題,但我還真的重灌過

結果當然沒有違背科學原則,一樣無效

TOP

回復 17# yangjie


    感謝您持續的回應
檔案已寄出去,麻煩您了
謝謝

TOP

        靜思自在 : 對父母要知恩,感恩、報恩。
返回列表 上一主題