Ich möchte eine Exceldatei füllen.
Beim Ansprechen der Zellen, direkt über Cells(1,1) erscheint die Fehlermeldung 0x800A03EC
ich möchte die Zellen aber am liebsten in der Form xls.cells(i,j) ansprechen, da ich hier die Laufvariablen am einfachsten einsetzen kann.
Warum funktioniert die Schreibweise xls.Range(xls.Cells(i, 3)).Value = "'NutzerAbrechnung" nicht ?
Das ich die Zellen erst in einen Range umwandeln muß habe ich ja auch schon mitbekommen, aber den Hintergrund nicht ganz verstanden.
Unter VBA waren sie direkt ansprechbar.
Beim Eingrenzen des Fehlers habe ich folgendes herausgefunden
Beim Ansprechen der Zellen, direkt über Cells(1,1) erscheint die Fehlermeldung 0x800A03EC
ich möchte die Zellen aber am liebsten in der Form xls.cells(i,j) ansprechen, da ich hier die Laufvariablen am einfachsten einsetzen kann.
Warum funktioniert die Schreibweise xls.Range(xls.Cells(i, 3)).Value = "'NutzerAbrechnung" nicht ?
Das ich die Zellen erst in einen Range umwandeln muß habe ich ja auch schon mitbekommen, aber den Hintergrund nicht ganz verstanden.
Unter VBA waren sie direkt ansprechbar.
Beim Eingrenzen des Fehlers habe ich folgendes herausgefunden
VB.NET-Quellcode
-
- Dim appExcel As New Excel.Application
- Dim xlw As Excel.Workbook = appExcel.Workbooks.Open("d:\Fehler.xlsx")
- Dim xls As Excel.Worksheet = DirectCast(xlw.Worksheets(1), Excel.Worksheet)
- Dim i As Integer = 1
- appExcel.Visible = True
- Dim xlc As Excel.Range
- xlc = DirectCast(xls.Cells(i, 1), Excel.Range)
- xlc.Value = "IPP-Nr" 'funktioniert
- xls.Range("B1").Value = "Rechner" 'funktioniert
- xls.Range(xls.Cells(i, 3)).Value = "'NutzerAbrechnung" 'funktioniert nicht
- xls.Range(xls.Cells(i, xlSpalten.NutzerIst)).Value = "NutzerIst" 'funktioniert nicht