Board logo

標題: [發問] F8逐步執行正常,F5卻錯誤 [打印本頁]

作者: li_hsien    時間: 2015-5-5 14:41     標題: F8逐步執行正常,F5卻錯誤

小弟在跑程式的時候

原本沒問題的
不知最近為什麼卻無法執行了

使用F8逐步執行OK沒問題
可是用F5執行就錯了...

錯誤訊息只是很一般的"程式已被中斷"....沒有什麼參考依據

程式碼如下
  1. Option Explicit

  2. Sub Mapping_Data_Click()

  3. '    On Error GoTo Err
  4.     On Error Resume Next
  5.    
  6.     Dim fn As String
  7.     Dim Show_File As Object
  8.     Dim file_count As Integer
  9.     Dim SF_name As String
  10.     Dim T As Date
  11.    
  12.     T = Time
  13.    
  14.     Application.DisplayAlerts = False
  15.    
  16.     fn = ActiveWorkbook.Name

  17.     Set Show_File = Application.FileDialog(msoFileDialogOpen)
  18.    
  19.     With Show_File
  20.          .InitialFileName = ActiveWorkbook.Path & "\*.xls"  '指定 xls檔
  21.          .AllowMultiSelect = True
  22.          .Show
  23.             If .SelectedItems.Count > 0 Then
  24.             
  25.                 For file_count = 1 To .SelectedItems.Count
  26.                     
  27.                     With Workbooks.Open(.SelectedItems(file_count))
  28.                     
  29.                         Debug.Print "SF(" & file_count & "): " & ActiveWorkbook.Name
  30.                         SF_name = ActiveWorkbook.Name
  31.                         MCD_mapping fn, SF_name
  32.                         .Close 0
  33.                         
  34.                     End With
  35.                     
  36.                 Next
  37.                
  38.             End If
  39.     End With
  40.       
  41.     Application.DisplayAlerts = True
  42.    
  43.     Debug.Print "經過時間: " & DateDiff("n", T, Time) & "分"
  44.    
  45. '    Exit Sub
  46. '
  47. 'Err:
  48. '    Debug.Print "未開啟報表"
  49.    
  50. End Sub
複製代碼
出錯的點是這行
If .SelectedItems.Count > 0 Then

後來發現只要是跟.SelectedItems有關的地方都會錯

GOOGLE了好一陣子還是無解

最奇怪的是之前可以執行但現在卻突然不行.....

不知問題點為何?

煩請各位大大協助
作者: stillfish00    時間: 2015-5-5 15:10

回復 1# li_hsien
拿掉On Error Resume Next再跑一次
作者: li_hsien    時間: 2015-5-6 08:13

回復 2# stillfish00

結果還是一樣...

之前有查到類似的狀況

可能是沒有參照到我要執行的頁面

意思大概像下面這樣
range("A1").copy
worksheets(2).range("A1").paste
(可能會發生錯誤)

修改如下
range("A1").copy
worksheets(2).activate
worksheets(2).range("A1").paste

不知跟我這個狀況有無相關

煩請大大協助
作者: stillfish00    時間: 2015-5-6 09:15

回復 3# li_hsien
拿掉後出現的錯誤還是程式已被中斷嗎?
如果不是再按偵錯看是哪一行出錯

或是你把MCD_mapping fn, SF_name 註解掉
如果不會出錯,表示錯誤不在1樓的code
作者: li_hsien    時間: 2015-5-7 11:37

回復 4# stillfish00

都一樣是錯在If .SelectedItems.Count > 0 Then這行

即使我把這行註解掉還是會錯下一行

錯誤訊息一樣是"程式已被中斷"

而且我按繼續還是可以執行...

但是執行完下一行後又會再出錯...

再按繼續還是可以執行

一樣又再下一行出錯


不知怎麼處理

請各位協助

謝謝
作者: GBKEE    時間: 2015-5-7 13:46

回復 5# li_hsien
Office 重新安裝試試看
作者: li_hsien    時間: 2015-5-7 16:19

回復 6# GBKEE

NO~~~

最不想聽到的答案

哈哈

因為我是偷偷用Server來跑程式

重灌Office可能有點困難...

還是感謝版大協助!!!




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