1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Excel Tabellen Transformation

Discussion in 'Office-Programme' started by taik84, Oct 17, 2006.

Thread Status:
Not open for further replies.
  1. Hascheff

    Hascheff Moderator

    Gut, mit dieser Beobachtung finde ich den Fehler.
     
  2. Hascheff

    Hascheff Moderator

    Eigentlich wollte ich heute früh noch dein Problem behandeln, aber es war erst mal kein Reinkommen ins Forum und dann hab ich es nicht mehr geschafft.
    Das Makro sehe ich jetzt nicht (bin auf Arbeit), deshalb sage ich mal kurz, wo das Problem liegt, vielleicht kommt ja FE vorbei und hilft.

    Beim Löschen einer Zeile wird die nachfolgende zur aktuellen Zeile. Diese wird nicht geprüft, weil anschließend i um eins erhöht wird.
    Man muss also entweder eine zusätzliche while-Schleife einbauen oder die for-Schleife in eine while-Schleife umwandeln.
     
  3. Hascheff

    Hascheff Moderator

    Ich hab's jetzt.
    Sub sortieren()

    ' erstellt von PC-Welt-Forum First Evangelist
    ' geändert von PC-Welt-Forum Hascheff

    Dim i As Integer
    Dim Bereich As String

    Application.ScreenUpdating = False

    Sheets("Zwischenrechnung").Select
    i = 2
    While Not IsEmpty(Cells(i + 1, 1).Value)
    i = i + 1
    Wend
    Bereich = "A3:D" + Format(i, "0")
    Range(Bereich).Select
    Selection.Copy
    Sheets("Ergebnis").Select
    Range("A3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    Application.CutCopyMode = False
    Range("A1").Select

    i = 3
    While Not IsEmpty(Cells(i, 1).Value)
    If Cells(i, 2) = "" Then
    Rows(i).Select
    Selection.Delete Shift:=xlUp
    Else
    Cells(i, 1).Value = i - 2
    i = i + 1
    End If
    Wend

    Application.ScreenUpdating = True
    End Sub


    @ FE: Urhebervermerk kann nicht schaden.
    Jetzt weiß ich, warum du bei "A3:d300" das d kleingeschrieben hast. Ich denke, nach dem Kopieren vergeht dem Code das Grinsen.
     
  4. @hascheff
    gute Arbeit. Man erkennt den :teach:

    Och, meine Codes sind frei zugänglich und veränderbar. Wenn ich das nicht wollte würde ich sie Passwortschützen. Das aber würde meiner Vorstellung eines Forums widersprechen.
    Und als Urheber sehe ich mich bei solchen kleinen Dingen auch nicht. Die sind alle in irgendeiner abgewandelten Form schon x-mal dagewesen.
    Dennoch - :danke: - auf weitere gute Zusammenarbeit.

    FE :bet:
     
  5. Hascheff

    Hascheff Moderator

    @ FE:
    Danke, wünsch ich auch. Ich denke, wir ergänzen uns gut.
     
Thread Status:
Not open for further replies.

Share This Page