Access'ten Excel dosyası aracılığıyla döngü sorunlu yaşıyorum.Erişim VBa - Excel sütunları aracılığıyla döngü
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
Ne yaparsam yapayım, hep bu çizgide bir hata alıyorum:
i = XcelApp.Rows(1).Find(What:="Število", LookIn:=xlValues, Lookat:=xlWhole).Column
veya bunu daha:
For i = 2 To UBound(x)
Hatalar vardır "nesne değildir İşte benim kodudur bu özelliği veya yöntemi "veya" nesne değişkenini veya ayarlanmamış blok değişkenini "destekler. Bunu nasıl düzeltebilirim, kimsenin bir ipucu var mı? Şimdi Düzgün çalışır,
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
Sadece koddan ExcelBook kaldırmak zorunda: Ben manged olan
Arama değeri bu satırda bulunamazsa, nesne değişken hatası alırsınız. – Rory
Ama öyle. 1 satırda ben sütun "Število" adlı sahiptir. Ben bahsetmeyi unuttum - bu kod 2 hafta boyunca düzgün çalıştı, şimdi anlıyor ... – LuckyLuke82
Yapıyor: 'i = XcelApp.Match (" Število ", XcelApp.Rows (1), 0)' çalışma? – Rory