2016-03-23 21 views
0

AccessからExcelファイルをループする際に問題があります。ここに私のコードは次のとおりです。Excelの列を使用してVBaループにアクセスする

 Sub Xceltest() 

     Dim XcelApp As Object 
     Dim XcelBook As Excel.Workbook 
     Dim x, i 
     Set XcelApp = CreateObject("Excel.Application") 
     XcelApp.ScreenUpdating = False 

Set XcelBook = XcelApp.Workbooks.Open("C:\Users\Lucky\Desktop\Test\Sample.xlsx") 

    With XcelBook 

i = XcelApp.Rows(1).Find(What:="Število", LookIn:=xlValues, Lookat:=xlWhole).Column 

x = XcelApp.Range(XcelApp.Cells(1, i), XcelApp.Cells(XcelApp.Rows.Count, i).End(xlUp)).Value 

     For i = 2 To UBound(x) 
      If Not IsNumeric(x(i, 1)) Then 

      ExcelApp.Quit 
      Set ExcelApp = Nothing 
      MsgBox "This Excel file is not valid" 
     : Exit Sub 

      End If 

     Next i 

     End With 

     XcelApp.Quit 
     XcelApp = Nothing 

     End Sub 

私は何であれ、私はいつもこの行でエラーが発生します。

i = XcelApp.Rows(1).Find(What:="Število", LookIn:=xlValues, Lookat:=xlWhole).Column 

か、この1:

For i = 2 To UBound(x) 

エラーは、オブジェクトがない」ですこのプロパティまたはメソッドをサポートする "または"オブジェクト変数またはブロック変数が設定されていません "。どのように私はこれを修正することができます、誰かが手がかりを持っていますか?

+0

検索値がその行に見つからない場合は、オブジェクト変数errorが返されます。 – Rory

+0

しかしそれはそうです。 1列目に「Število」という名前の列があります。私は言及するのを忘れていました - このコードは2週間正しく働いていましたが、今はうまくいきません... – LuckyLuke82

+0

'i = XcelApp.Match("Število "、XcelApp.Rows(1)、0)' work? – Rory

答えて

0

私はそれが働いて取得するうまく管理している:

Sub Xceltest() 

     Dim XcelApp As Object 

     Dim x, i 
     Set XcelApp = CreateObject("Excel.Application") 
     XcelApp.ScreenUpdating = False 

     XcelApp.Workbooks.Open("C:\Users\Lucky\Desktop\Test\Sample.xlsx") 

    With XcelApp 

i = XcelApp.Rows(1).Find(What:="Število", LookIn:=xlValues, Lookat:=xlWhole).Column 

x = XcelApp.Range(XcelApp.Cells(1, i), XcelApp.Cells(XcelApp.Rows.Count, i).End(xlUp)).Value 

     For i = 2 To UBound(x) 
      If Not IsNumeric(x(i, 1)) Then 

      ExcelApp.Quit 
      Set ExcelApp = Nothing 
      MsgBox "This Excel file is not valid" 
     : Exit Sub 

      End If 

     Next i 

     End With 

     XcelApp.Quit 
     XcelApp = Nothing 

     End Sub 

私はちょうど今、それが正常に動作し、コードからExcelBookを削除する必要がありました。

関連する問題