Announcement

Collapse
No announcement yet.

Hilfe, Excelproblem. Zeilen "zwischendrin" einfügen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Hilfe, Excelproblem. Zeilen "zwischendrin" einfügen

    Hallo,

    ich habe ein kleineres Problem mit Excel und weiß mir im Moment nicht
    wirklich zu helfen.

    Ich lade eine Excelvorlagendatei (mit Makros) in meine Anwendung und
    will nun in einem definierten Bereich Daten einfügen. Das Problem ist
    nun, dass ich es nicht hinbekomme Zeilen nach unten zu verschieben.

    Bevor ich anfange Daten in meine Vorlage reinzuschreiben ermittle ich
    die Zeilen, die einen Bereich markieren. (die Vorlage hat in den
    entsprechenden Zeilen die Werte "1." und "2." stehen, so dass ich
    bequem danach suchen kann. Die Daten, die einfügen will stehen in
    einem string-Array und in einer DataRow, die ich der Klasse übergebe.

    Im Moment ist es so, dass ich alle Daten, die ich hinzufügen will in
    eine Range packe - also mehrere Zeilen bzw. vorher in ein Object-
    Array.

    Was ich will ist:
    pro Array-Eintrag will ich drei Zeilen --> den Namen des ArrayItems,
    den entsprechenden Eintrag in der Row und eine Leerzeile. Für jeden
    Eintrag den ich so vornehme soll der Rest des Sheets nach unten
    verschoben werden, damit meine neuen Einträge nicht vorhandene
    Einträge überschreiben.

    Auf der MSDN-Seite hab ich ein Beispiel gesehen, wie man Zellen
    einfügt, aber nur am Ende des Sheets und nicht mittendrin.

    Ich hoffe jemand hat einen Tip für mich.

    hier noch etwas Code:

    for (int i = 0; i < strColumns.Length; i++)
    {
    DataColumnCollection dcc =
    myDataSet.AM.Columns;
    foreach (DataColumn dc in dcc)
    {
    if (dc.ColumnName == strColumns[i])
    {

    Console.WriteLine(myDataSet.AM.Columns.IndexOf(dc. ColumnName).ToString());

    objData[i, 0] = "A: " + strColumns[i]
    + "\n " +
    myAMRow.ItemArray[myDataSet.AM.Columns.IndexOf(dc.ColumnName)];
    // m_objRange =
    m_objSheet.get_Range("B1", m_objOpt);
    }
    }
    }
    m_objRange = myOverviewWorksheet.get_Range("C" +
    (iZeile1+3).ToString(), "C" +
    (iZeile1+3+strColumns.Length).ToString());
    m_objRange =
    m_objRange.get_Resize(strColumns.Length,1);
    m_objRange.set_Value(missing, objData);
Working...
X