Sortierung eines ExcelSheets mit C#



  • Ich würde gerne ein ExcelSheet nach spalte 1 sortieren lassen.
    Ich durchlaufe das ExcelSheet mit einer Schleife und suche nach dem aktuellen Datum. Dann setze ich mir einen Merker für die erste Zeile die das Datum enthält und einen Merker für die letzte Zeile die das Datum enthält. Das mache ich mit folgenden Quellcode.
    int row=0;
    int Merker=0;
    int Merker1=0;
    Microsoft.Office.Interop.Excel.Range sortRange;
    sortRange=null;
    do
    {
    row++;
    sortRange = (Microsoft.Office.Interop.Excel.Range)ws.Cells[row, 5];
    if (sortRange.Value2 == null)
    sortRange = (Microsoft.Office.Interop.Excel.Range)ws.Cells[(row + 1), 5];
    if (sortRange.Value2 == null)
    break;
    if (sortRange.Value2.ToString() != tagesdatum)
    {
    Merker = row;
    }
    } while (true);
    Merker = Merker + 2;
    Merker1 = row - 1;

    Anschließend markiere ich den gewählten Bereich
    ws.get_Range("A" + Merker + ":K" + Merker, "A" + Merker1 + ":K" + Merker1).Select();

    nun möchte ich den markierten Bereich mit folgendem Quellcode sortieren
    ws.get_Range("A" + Merker + ":K" + Merker, "A" + Merker1 + ":K" + Merker1).Sort(sortRange.Columns[1,Type.Missing], XlSortOrder.xlAscending, sortRange.Columns[4, Type.Missing], Type.Missing, XlSortOrder.xlAscending, Type.Missing, XlSortOrder.xlAscending, XlYesNoGuess.xlNo, Type.Missing, Type.Missing, XlSortOrientation.xlSortColumns, XlSortMethod.xlPinYin, XlSortDataOption.xlSortNormal, XlSortDataOption.xlSortNormal, XlSortDataOption.xlSortNormal);//Sortierung für Tabellenblatt

    nur leider funktioniert das nicht. Der Bereich wird nicht sortiert. Kann mir jemand weiterhelfen woran das liegt??

    Gruß
    Dieter



  • Knuddlbaer schrieb:

    Keine CodeTags, bitte den Post aufräumen.


Anmelden zum Antworten