Laden...

Beim Auslesen von Excel werden nicht alle Werte gelesen

Erstellt von ghjdsalögdsn vor 9 Jahren Letzter Beitrag vor 9 Jahren 1.994 Views
G
ghjdsalögdsn Themenstarter:in
12 Beiträge seit 2015
vor 9 Jahren
Beim Auslesen von Excel werden nicht alle Werte gelesen

Hallo zusammen, ich bins mal wieder 😛

Mein Programm soll zwei Spalten durchlaufen und diese mit einem string vergleichen. Wenn in einer der beiden Zellen dieser String vorhanden ist, dann soll ein gewisser Bereich in dieser Zeile kopiert werden.
Hier der Code den ich verwende:

int x = 1;

                for (int i = 1; i <= Matches; i++)
                {
                    string cell = objMatches.Cells[i, 19].Value2;
                    string cell2 = objMatches.Cells[i, 20].Value2;

                    if (cell == team)
                    {
                        Range rng = objMatches.get_Range("A" + i, "J" + i);
                        rng.Copy(objAnalysis.Cells[1 + x,1]);
                        x++;
                    }
                    else if (cell2 == team)
                    {
                        Range rng = objMatches.get_Range("A" + i, "J" + i);
                        rng.Copy(objAnalysis.Cells[1 + x,1]);
                        x++;
                    }
                    
                }   

es ist seltsam. Es funktioniert teilweise, aber anscheinend durchläuft es nicht die gesamte Spalte oder sonst ein Problem tritt auf, auf jeden Fall wird keine Fehlermeldung ausgegeben, aber nicht alles was kopiert werden soll kopiert...

Hoffe ihr könnt mir da irgendwie weiterhelfen!!

1.696 Beiträge seit 2006
vor 9 Jahren

Bei solche Sachen ist es hilfreich, zunächst den Debugger hinzuzuziehen [Artikel] Debugger: Wie verwende ich den von Visual Studio?

Ich bin verantwortlich für das, was ich sage, nicht für das, was du verstehst.

**:::

G
ghjdsalögdsn Themenstarter:in
12 Beiträge seit 2015
vor 9 Jahren

wie soll das in meinem fall weiterhelfen? es gibt ja keine fehlermeldung das ganze ergibt nur nicht das ergebnis das ich sehen wollte, ich habe also vermutlich etwas falsch programmiert oder einen denkfehler drin..

463 Beiträge seit 2009
vor 9 Jahren

Eben, und im Debugger siehst du, wenn du im Einzelschritt durch dein Program gehst, wo das Problem liegt!

G
ghjdsalögdsn Themenstarter:in
12 Beiträge seit 2015
vor 9 Jahren

Jetzt habe ich gesehen, dass manche Einträge nicht erkannt werden, was soll mir das jetzt sagen? 😮

Danke auf jeden Fall für Eure Beiträge aber so wirklich schlau werde ich aus dem Debugger nicht...

Der Code sieht richtig aus?

189 Beiträge seit 2014
vor 9 Jahren

Hallo StativBus,
du kannst mit dem Debugger z.B. im Einzelschrittmodus genau ansehen, welche Variable zu welchem Zeitpunkt welchen Wert annimmt.
Manchmal muss man komplexere Zeilen zu mehreren Anweisungen auflösen, um alles richtig nachvollziehen zu können.

So jetzt weißt du, dass "manche Einträge nicht erkannt werden". Was das auch immer heißen soll ... .
Jetzt weißt du auch, an welcher Stelle das passiert und kannst nachvollziehen, ob die Quelle leer ist, ob ein Wert nicht konvertiert werden kann, ob du die Schleife falsch konfiguriert hast (also du Einträge überspringst), ... .

Nur musst du auch lernen präziesere Aussagen treffen zu können: für dich und für uns.

Grüße

Ezio

2.207 Beiträge seit 2011
vor 9 Jahren

Das steht alles in dem verlinkten Artikel. Nimm den Artikel, lies ihn durch und verwende den Debugger, dann weisst du doch genau, wos hängt. Wo er die Werte nicht annimmt, da wird wohl was falsch sein. Dann kannst du dem nachgehen. Steht aber alles im Artikel.

Gruss

Coffeebean

G
ghjdsalögdsn Themenstarter:in
12 Beiträge seit 2015
vor 9 Jahren

Dann werde ich mich doch gleich mal darin versuchen.

Es handelt sich um eine Excel-Mappe. Die Schleife durchläuft die hinteren zwei Spalten einer Tabelle, die anzeigen welches Team gewonnen bzw. verloren hat, und vergleicht die einzelnen Einträge mit einem vorher vom Nutzer angegebenen string aus einer Textbox.
Da es sich um Spiele und deren Ergebnisse handelt gibt es in den Spalten natürlich auch mal Duplikate. Die Schleife soll für jede Zelle in der der gleiche string beinhaltet ist, die Zeile bis zu den letzten zwei Spalten kopieren.
Es handelt sich in den Spalten lediglich um Text, der sich in keiner Weise von einander unterscheidet.

Das Problem, dass ich beschrieben habe und für welches ich, obwohl ich lediglich als Anfänger einige Tipps erhalten wollte, überdurchschnittlich geduldig behandelt wurde, ist also nicht so offensichtlich wie es einige von Euch denken.

Möglicherweise ist es nicht die richtige Entscheidung in einem Forum, dass als "Grundlagen"-Forum beschrieben wird nach Grundlagen zu fragen, bzw. evtl. nicht in diesem Forum.

Natürlich würde ich mich dennoch über Kommentare freuen, die mir helfen wollen, ansonsten werde ich mich dann an andere Stellen wenden.

Mit freundlichen und sich entschuldigenden Grüßen

Till

1.696 Beiträge seit 2006
vor 9 Jahren

Das Problem ist, dass es keine Fehlermeldung gab, ergo kann es sich nur um logische Fehler handelt, welche mit Hilfe von Debugger eigentlich schnell zu finden ist.

Wenn du Hillfe von uns erwartest, dann möchtest du bitte etwas mehr preisgeben, z.B. einen Ausschnitt der Exceltabelle, wo du meinst, dass Werte verschluckt sind, etc. Ansonsten ist nur Raterei und ich denke nicht dass irgendeiner von uns Lust und Zeit hat, dein Ratespiel mitzumachen.

Ich bin verantwortlich für das, was ich sage, nicht für das, was du verstehst.

**:::