2016-05-09 1 views
0

Ich versuche, Informationen zu einem Blatt Zeile für Zeile hinzufügen. Ich gebe mir immer einen Fehler, wenn ich + 1 irgendetwas. nur direkt eine Zelle ändernExcel Interop in VB bekommen Fehler HRESULT: 0x800A03EC

Wenn ich, es funktioniert gut und keine Fehler oder Abstürze wie so

ws.Cells(2, 1) = "Test Data" 

Aber sobald ich auf Auto Schritt für Schritt durch meine Zeilen versuchen, es stürzt ab.

Irgendwelche Ideen? Ich habe viel gegoogelt, aber es scheint 0x800A03EC ist ein generischer Fehlercode.

Hier ist mein Code

Dim app As New Excel.Application 
    Dim ws As Excel.Worksheet 
    Dim workBook As Excel.Workbook 

    workBook = app.Workbooks.Open("P:\CAD\RhinoDek\Color Storage\TWO_SHEETS.xlsx") 
    ws = workBook.Worksheets("Sheet1") 

    Dim uRange = ws.UsedRange 
    Dim rRange = uRange.Rows 

    Dim cRow = rRange.Count + 1 

    ws.Cells(cRow, 1) = "Test Data" (It throws the error here at cRow) 

    workBook.Save() 
    workBook.Close() 
    app.Quit() 

Vielen Dank für jede Hilfe zu diesem Thema.

+0

können Sie eine 'Messagebox.Show setzen (CROW)' vor Zeile, die den Fehler ist, und sehen, was das ist Wert von 'cRow' –

+0

cRow ist 1048576. Nicht genau sicher, mit dem ist es so verdammt hoch. –

+0

das Problem, dass Sie die maximale Anzahl der Zeilen in Excel erreicht haben! –

Antwort

0

Das Problem, dass Sie die maximale Anzahl der Zeilen in Excel erreicht haben.

Versuchen Sie, diese zuletzt benutzte Reihe zu bekommen:

dim cRow = ws.Cells(1048576, 1).End(Excel.XlDirection.XlUp).row +1 

oder

dim cRow = ws.Columns("A").Cells.Find("*", SearchOrder:=Excel.XlSearchOrder.xlByRows, LookIn:=Excel.XlFindLookIn.xlValues, SearchDirection:=Excel.XlSearchDirection.xlPrevious).Row +1 
+0

Nun .... nachdem ich über das, was du geliefert hast, geschaut habe, bin ich den ganzen Weg runtergescrollt ... und da war es .... eine zufällige Zahl, die ich dort versehentlich eingefügt habe. Ich habe das gelöscht, es fing an zu arbeiten lol. Danke, Mann!! –