2013-07-14 61 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