Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
992to996
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
992to996
992to996
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zeilen nach rechts verschieben

Zeilen nach rechts verschieben
20.07.2008 00:03:00
erwin.geer
Guten Abend Zusammen,
ich habe eine sortierte Liste mit Aktenzeichen in Spalte A, wobei ein Aktenzeichen entweder einmal oder mehrfach (in den nächsten Zeilen) vorkommen kann; desweiteren sind zu jedem Aktenzeichen mehrere Spalten belegt.
Ich möchte nun mit einem Makro versuchen, alle gleichen Aktenzeichen an das erste Aktenzeichen nach rechts anzuhängen.
Beispiel vorher
  • Spalte A B C D E

  • 123456 Müller Max 05.05.1955

  • 987654 Maier Otto 06.06.1966

  • 987654 verh. 4 Kind. Auto Hundehalter

  • 555555 Huber Manfred 07.07.1977

  • 555555 ledig kein Ki. S-Bahn Katzenhalter

  • 555555 fröhlich freundlich

  • NACHHER sollte es so aussehen
    Spalte A B C D E F G H I J K
  • 123456 Müller Max 05.05.1955

  • 987654 Maier Otto 06.06.1966 987654 verh. 4 Kind. Auto Hundehalter

  • 555555 Huber Manfred 07.07.1977 555555 ledig kein Ki. S-Bahn Katzenhalter fröhlich freundlich

  • Ich weis vorher nicht, wie oft ein Aktenzeichen vorkommt bzw. wie weit die Spalte(n) schon belegt sind.
    Wer kann mir bitte helfen?
    Erwin

    7
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Zeilen nach rechts verschieben
    20.07.2008 00:10:00
    Daniel
    Hi
    lad mal ne Beispieldatei hoch, am besten eine, die in einem Blatt den akuellen Zustand und in einem anderen Blatt den Zielszustand enthält.
    So kann man am leichtesten ein Makro basteln.
    Gruß, Daniel

    AW: Zeilen nach rechts verschieben
    20.07.2008 00:29:00
    erwin.geer
    Hallo Daniel,
    hier die Datei: https://www.herber.de/bbs/user/53982.xls
    eigentlich auch nichts anderes, als ich schon versucht habe, darzustellen.
    Die "richtige" Datei ist in der Arbeit :(.
    Mit Worten beschrieben, müsste man nachsehen, ob das Aktenzeichen nur einmal vorkommt, dann zum nächsten Aktenzeichen in Spalte A, wenn es nochmals vorkommt, dann müssten die in der Zeile gefüllten Zellen zur vorherigen Zeile rechts nach der letzten Zelle angehängt werden; dann nachfolgende Zeile gelöscht werden; anschließend erneute Prüfung des Aktenzeichens...
    Klingt kompliziert, ich weis, aber vielleicht gibt es eine Lösung.
    Erwin

    Anzeige
    AW: Zeilen nach rechts verschieben
    20.07.2008 00:54:00
    Daniel
    Hi
    du könntest dieses Makro verwenden:
    
    Sub Zusammenfassen()
    Dim i As Long
    Cells(1, 1).CurrentRegion.Sort key1:=Cells(2, 1), order1:=xlAscending, header:=xlYes
    For i = Cells(Rows.Count, 1).End(xlUp).Row To 3 Step -1
    If Cells(i, 1).Value = Cells(i - 1, 1).Value Then
    Range(Cells(i, 2), Cells(i, Columns.Count).End(xlToLeft)).Copy _
    Destination:=Cells(i - 1, Columns.Count).End(xlToLeft).Offset(0, 1)
    Rows(i).Clear
    End If
    Next
    Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp)).EntireRow.Sort key1:=Cells(2, 1), order1:= _
    xlAscending, header:=xlYes
    End Sub
    


    das Makro ist geschrieben für folgende Voraussetzungen:
    - die Tabelle beginnt in Zeile 1
    - Zeile 1 ist Überschrift, ab Zeile 2 beginnen die Daten.
    - Die Tabelle enthält keine Leerzeilen oder Leerspalten
    - die Tabelle darf nach Spalte A - Aktenzeichen sortiert werden.
    Gruß, Daniel

    Anzeige
    AW: Zeilen nach rechts verschieben
    20.07.2008 01:04:00
    erwin.geer
    Hallo Daniel,
    super - des funzt ja ordentlich und auch schnell - danke
    wenn es jetzt auch noch mit der Datei in der Arbeit hinhaut, dann spare ich mir jede Menge Zeit
    Grüße Erwin

    AW: Zeilen nach rechts verschieben
    20.07.2008 07:11:00
    Erich
    Hi Erwin,
    vielleicht geht's ja auch ohne Sortierung. Wenn die zusammenzufassenden Az in Spalte A direkt untereinander stehen
    (wie in deinem Beispiel), geht das wohl schneller:
    
    Sub Zusammenfassen2()
    Dim zz As Long, rngL As Range
    For zz = Cells(Rows.Count, 1).End(xlUp).Row To 6 Step -1
    If Cells(zz, 1) = Cells(zz - 1, 1) Then
    Range(Cells(zz, 1), Cells(zz, Columns.Count).End(xlToLeft)).Copy _
    Cells(zz - 1, Columns.Count).End(xlToLeft).Offset(, 1)
    If rngL Is Nothing Then
    Set rngL = Cells(zz, 1)
    Else
    Set rngL = Union(rngL, Cells(zz, 1))
    End If
    End If
    Next
    If Not rngL Is Nothing Then rngL.EntireRow.Delete
    End Sub
    

    In Daniels Vorschlag wird das Az selbst nicht mitkopiert, in deiner Beispielmappe wohl.
    Wenn das Az nicht mitkopiert werden soll, musst du im obigen Code
    Range(Cells(zz, 2), ...
    statt
    Range(Cells(zz, 1), ...
    schreiben.
    Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

    Anzeige
    AW: Zeilen nach rechts verschieben
    20.07.2008 20:25:16
    Daniel
    Hi
    auch bei meinem Code dient das erste Sortieren nur dazu sicherzustellen, daß die gleichen AZ untereinander stehen. Ist dies bereits anderweitig sicher gestellt, dann kann auf das erste Sortieren verzichtet werden.
    das 2. Sortieren verwende ich, um die leeren Zeilen ans Ende zu befördern, weil es einfach wesentlich schneller ist, Daten zu Sortieren als Zeilen zu löschen.
    Gruß, Daniel

    DANKE - Zeilen nach rechts verschieben
    20.07.2008 22:24:00
    erwin.geer
    Hallo Ihr Beiden,
    heute Nacht ist mir gar nicht aufgefallen, dass bei Daniel's Code das Aktenzeichen nicht mitkopiert wurde; wäre aber auch nicht falsch, wenn es draussen bleiben würde, da ich es nur zur Sicherheit / Überprüfung nochmals wollte.
    Dein Hinweis Erich, mit "Range(Cells(zz, 2), ... statt Range(Cells(zz, 1), ..." ist super, da ich das dann individuell regeln kann.
    Im laufe der kommenden Woche habe ich bestimmt einige HOST Dateien, wo ich das alles ausprobieren kann.
    Nochmals herzlichen Dank für die Hilfe
    Erwin
    Anzeige

    304 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige