Board logo

標題: [發問] EXCEL VBA由OFFICE 03轉去2010就有問題 [打印本頁]

作者: kennet    時間: 2012-5-28 10:20     標題: EXCEL VBA由OFFICE 03轉去2010就有問題

本帖最後由 kennet 於 2012-5-28 12:19 編輯

之前用03版本時還好好的, 但公司電腦一轉用2010版本時行那個VBA便出現問題了
"執行階段錯誤1004": 應該程式或物件定義上的錯誤
  1. ' Delete 小計
  2. Sheets("Summary").Select
  3. x = 4
  4. Do Until word = "小計"
  5. word = Right(Cells(x, 5), 2)
  6. x = x + 1
  7. Loop
  8. Cells(x - 1, 5).Delete
  9. x1 = 4
  10. Do Until word1 = "小計"
  11. word1 = Right(Cells(x1, 4), 2)
  12. x1 = x1 + 1
  13. Loop
  14. Cells(x1 - 1, 4).Delete
  15. x2 = 4
  16. Do Until word2 = "小計"
  17. word2 = Right(Cells(x2, 3), 2)
  18. x2 = x2 + 1
  19. Loop
  20. Cells(x2 - 1, 3).Delete
  21. x3 = 4
  22. Do Until word3 = "小計"
  23. word3 = Right(Cells(x3, 2), 2)
  24. x3 = x3 + 1
  25. Loop
  26. Cells(x3 - 1, 2).Delete
  27. x4 = 4
  28. Do Until word4 = "小計"
  29. word4 = Right(Cells(x4, 1), 2)
  30. x4 = x4 + 1
  31. Loop
  32. Cells(x4 - 1, 1).Delete
複製代碼
偵錯時點出第5句語法出現問題, 請問如何解決?
作者: oobird    時間: 2012-5-28 10:48

沒附文檔看不出第5行錯在哪裡。
你可以改用這個程式碼試試:
  1. Sub test()
  2. [a:e].Replace "小計", "=1/0"
  3. [a:e].SpecialCells(xlCellTypeFormulas, 16).Delete (3)
  4. End Sub
複製代碼

作者: oobird    時間: 2012-5-28 10:51

若不是整列刪除把Delete (3)改成Delete (2)
作者: register313    時間: 2012-5-28 11:10

回復 1# kennet

1.儲存格內找不到"小計",造成無窮迴圈
2.程式語法可精簡
3.請附上excel檔案
作者: kennet    時間: 2012-5-28 12:19

現附上EXCEL檔, 望各位大大幫忙
作者: register313    時間: 2012-5-28 12:57

回復 5# kennet

小計 改為 合計
作者: kennet    時間: 2012-5-28 13:48

回復  kennet

小計 改為 合計
register313 發表於 2012-5-28 12:57


成功了!! 多謝大大幫忙!感激不盡




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)