Koma9 Geschrieben 10. April 2002 Geschrieben 10. April 2002 Hallo! hab da ein problem ich will mit einer VBA Schleife (for..Next) werte aus einer tabelle in eine andere tabelle einfügen, jedoch sind in der ausgangstabelle eine leerzeilen oder zeilen die ich nicht da haben will. aber wenn ich mit einer laufenden nummer arbeite geht das doch nicht anders oder? oder wie kann ich dann automatisch die unbrauchbaren zeilen löschen, ohne das leerzeilen entstehen? Erbitte um HILFE!
Uruz Geschrieben 10. April 2002 Geschrieben 10. April 2002 bin zwar kein VB- Mensch aber... was haeltst du denn von einem Counter, der dir die Anzahl der unbrauchbaren Zeilen angibt ? so das du dann (vereinfachte Darstellung) for i := 0 to SourceGrid.Lines.Count - 1 do begin if Filter(SourceGrid.Lines[i]) then FilterCount := FilterCount +1; else copy(DestGrid.Lines[i-FilterCount],SourceGrid.Lines[i]); end; wie gesagt, so aehnlich muesst das auch in VB ausschauen... nur hab ich das noch ned wirklich gemacht... BASIC hatte ich mit gwBasic an den Nagel gehaengt ;o) aber ich denke, der Text oben ist verstaendlich Uruz
HansiPansi Geschrieben 10. April 2002 Geschrieben 10. April 2002 Hi, steht in den Zellen die Du nicht dabei haben willst immer der gleiche Wert oder garnichts? Wenn ja dann brauchst Du nur eine Verzweigung in die Schleife einbauen: for s = 1 to [Anzahl der Spalten] for z = 1 to [Anzahl der Zeilen] if (Cells(z, s).Value = "") or (Cells(z, s).Value = "[Der Wert eben]") then next z else ... {Inhalt in Spalte "z" und die zu letzt bearbeitete Zeile + 1 einfügen (kann man entweder immer wieder in einer Variablen zwischenspeichern oder per SpecialCells abrufen)} Vielleicht hilft es Dir ja. Gruss HansiPansi
lpd Geschrieben 10. April 2002 Geschrieben 10. April 2002 Zuerst musst du feststellen, welche Merkmale ungültige Zeilen haben (z.b. Leerzeichen, oder ganz leere Zeilen, oder sonstetwas). Dann gehst du los und gehst deine Ausgangtabelle durch : (Leider beherrsche ich kein VB, deswegen nur ein Beispiel) for Index := 0 to Ausgangstabelle.Count - 1 do begin if Gueltig (Ausgtb.Aktuelle Zeile) then begin ZielTabelle Append (Neuen Satz anlegen, Nummer eines hochzählen) Zeile in ZielTabelle kopieren end; Next; end; so ungefähr müsste es aussehen. Also, erst auf Gültigkeit prüfen, und wenn diese gegeben ist, dann neuen Datensatz anlegen und Zeile kopieren.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden