2013-07-14 101 views
0

運行我的VBA代碼時遇到了一個小問題。我正在嘗試檢索並檢查excel中指定列中的信息。它會運行16次檢索信息,直到17時,它甚至沒有給我從工作簿列中的內容。您可以請幫忙或指導我解決問題嗎?閱讀專欄

Dim CheckingWhatsInCell As String 
    Dim i As Integer 
    Dim j As Integer 


    Dim ToWorkbook As Workbook 



    ThisWorkbook.Activate 


    For i = 1 To 20 
    CheckingWhatsInCell = Trim(Range("K" & i).Value) 
    If CheckingWhatsInCell = "Albuquerque NM" Then 
     Set ToWorkbook = Workbooks.Open("C:\Users\mgonza-c\Documents\TerritoryAlbuquerqueNM.xlsx") 
     For j = 1 To 139 
     ToWorkbook.Worksheets("Sheet1").Cells(i, j) = ThisWorkbook.Sheets("Sheet2").Cells(i, j).Value 
     Next j 
    End If 

    Next i 
    ToWorkbook.Save 
    ToWorkbook.Close 
End Sub 

謝謝!

+0

我沒有看到任何會導致錯誤的代碼錯誤。很可能您在K17中導致錯誤的數據無效。 – Pynner

+0

嘿Pynner!感謝您的回覆。你什麼意思是無效數據?像細胞格式? – Michelle

+0

單元格K17是否有像#DIV!0或#N/A或#VALUE等錯誤? 對於i = 17,CheckingWhatsIncell的vlaue是什麼? –

回答

0
CheckingWhatsInCell = Trim(Range("K" & i).Value) 

此代碼將在ThisWorkbook中查找,該代碼處於活動狀態,並且位於Sheet上次處於活動狀態的任何位置。也許它看着錯誤的表單。當其他工作手冊打開時,情況也會發生變化,使其變得活躍。

然後,如Julien所示,在K17中可能存在奇數值。

另請注意,即使它永遠不會分配給工作簿,您仍嘗試保存並關閉ToWorkbook。

+0

時,我不會想到每次發現「阿爾伯克基NM」都會幫助 – SeanC