Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema ListBox
BildScreenshot zu ListBox ListBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema SpinButton
BildScreenshot zu SpinButton SpinButton-Seite mit Beispielarbeitsmappe aufrufen

Unter Zahlen löschen + verschieben | Herbers Excel-Forum


Betrifft: Unter Zahlen löschen + verschieben von: Howard
Geschrieben am: 25.01.2010 12:24:56

Hallo,
ich habe etliche Listen mit Kartenbeschreibung, diese sind immer in der Form

1. Zeile: Kartennummer & Name,
2. Zeile: Karteninfo,
3. Zeile: kartentext,
wenn 4. Zeile frei bleibt,
befindet in 5. Zeile ein weiterer Kartentext.

In seltenen Fällen ist kein Kartentext vorhanden. In der nächsten Zeile beginnt gleich die nächste Karte im gleichen Schema (name.info.(text.(frei.text)).

Ziel ist es nun den Kartentext neben den Namen zu bekommen. Wenn sich die Liste also in Spalte A befindet und als Bsp. der 1. Name in A1 steht müsste Kartentext1 nach b1 verschoben werden und Kartentext2 (wenn vorhanden) nach B2.

Die Lösung könnte meiner Meinung nach ein Macro sein, der immer wenn eine Zahl mit Punkt (1., 2.,3.,...,269.) vorkommt eine zeile darunter löscht (das Karteninfo) und danach den kartentext(e) darunter, bis zur nächsten Zahl mit punkt, in die zellen neben dem namen darüber verschiebt.

Edit: Das Karteninfo muss nicht unbedingt gelöscht werden da ich im nachhin durch sortieren die Werte ordnen kann)

Ich danke euch im vorraus für eure Hilfe!

Herzlichst
Howard

post scriptum: Ich habe einen Auszug als Beispiel mit vorher/nachher hochgelden im Format XLS.

https://www.herber.de/bbs/user/67460.xls

  

Betrifft: AW: Unter Zahlen löschen + verschieben von: Chris
Geschrieben am: 25.01.2010 13:47:21

Servus Howard,

hier für dein Beispiel:

https://www.herber.de/bbs/user/67467.xls

Alt+F8 und Makro ausführen (aktiviertes Sheet = vorher)

Gruß

Chris


  

Betrifft: AW: Unter Zahlen löschen + verschieben von: Howard
Geschrieben am: 25.01.2010 13:59:32

Hi Chris,
es funktioniert prima! =) Danke für deine schnelle Hilfe!

Ich wünsch dir noch einen schönen Tag!
Howard

post scriptum: Nochmals tausend Dank!!!


  

Betrifft: AW: Unter Zahlen löschen + verschieben von: JDommi
Geschrieben am: 25.01.2010 15:26:34

Hier noch eine, meiner Meinung nach kürzere und übersichtlichere VBA-Version:

Public Sub Verschieben()
    letztezeile = Worksheets("VORHER").Cells(Rows.Count, 1).End(xlUp).Row
    neuezeile = 1
    For aktuellezeile = 1 To letztezeile
        inhalt = Worksheets("VORHER").Cells(aktuellezeile, 1)
        If Val(Left(inhalt, 1)) > 0 Then
            Worksheets("NACHHER").Cells(neuezeile, 1) = inhalt
            spalte = 2
            naechstezeile = 2
                While (Val(Left(Worksheets("VORHER").Cells(aktuellezeile + naechstezeile, 1), 1) _
) = 0) And (aktuellezeile + naechstezeile <= letztezeile)
                    inhalt = Worksheets("VORHER").Cells(aktuellezeile + naechstezeile, 1)
                    If inhalt <> "" Then
                        Worksheets("NACHHER").Cells(neuezeile, spalte) = inhalt
                        spalte = spalte + 1
                    End If
                    naechstezeile = naechstezeile + 1
                Wend
                neuezeile = neuezeile + 1
        End If
    Next
End Sub



Beiträge aus den Excel-Beispielen zum Thema "Unter Zahlen löschen + verschieben"