Laden...

Microsoft.Office.Interop.Excel: Schleife überspringt jedes Mal eine Zeile (trotz fortl. Index 1,2,3)

Erstellt von xxpoddyxx vor 9 Jahren Letzter Beitrag vor 9 Jahren 1.983 Views
X
xxpoddyxx Themenstarter:in
3 Beiträge seit 2014
vor 9 Jahren
Microsoft.Office.Interop.Excel: Schleife überspringt jedes Mal eine Zeile (trotz fortl. Index 1,2,3)

Hallo Liebe Community,
dies ist mein erster Beitrag und ich hoffe, dass ich richtig poste. Falls nicht, bitte um Hinweis.

Also es geht um folgende Funktion:




public static void RollenSchreiben()
        {
            var wb = Globals.ThisWorkbook;
            Excel.Worksheet rollenws = wb.Worksheets[Rollen.RollenSheetname];
            Excel.ListObject rollentabelle = rollenws.ListObjects[Rollen.RollenTabellename];

            Excel.Worksheet budgetierunsws = wb.Worksheets[SheetnameBudgetierung];
            Excel.ListObject budgetierungstabelle = budgetierunsws.ListObjects[TabellennameBudgetierung];

            var listrollen = new List<string>();

            foreach (Excel.ListRow listRow in rollentabelle.ListRows)
            {
                Excel.Range rolle = listRow.Range.Cells[listRow.Index, 1].Value2;
                Excel.Range benutzer = listRow.Range.Cells[listRow.Index, 2].Value2;
                listrollen.Add(rolle + ": " + benutzer);
            }

            var b = listrollen;
}

Und zwar überspringt die Schleife bei jedem Durchlauf eine Zeile, der Index wird jedoch korrekt angegeben.
Also sprich, wenn die Tabelle (ListObject in Excel) 7 Einträge hat, ist der Index in den Schleifen erst 1, dann 2, dann 3 usw. Dennoch überspringt die Schleife jedes mal eine Zeile.
Was mache ich falsch ?

Danke für eure Hilfe!

M
53 Beiträge seit 2008
vor 9 Jahren

Moin xxpoddyxx,

beim abrufen der Zelle musst du auf die Angabe der Zeile verzichten, da der Range ja nur aus der einen ListRow besteht.
Des weiteren gibt die Value2 - Eigenschaft kein Range-Objekt zurück. Folgendermaßen kann es funktionieren:

string rolle = listRow.Range.Cells[1].Value2.ToString();

Gruß
muhtanten

X
xxpoddyxx Themenstarter:in
3 Beiträge seit 2014
vor 9 Jahren
Hilfe zur Funktion bezüglich Microsoft.Office.Interop.Excel

Hiho,
da hab ich Unsinn gemacht, ist mir jetzt auch aufgefallen. Das Problem ist gelöst, Danke vielmals an @muhtanten !

Liebe Grüße