Liste

Bild

Betrifft: Liste
von: Patrik
Geschrieben am: 27.07.2015 16:51:52

Hallo liebes Forum,
ich möchte wissen, ob es eine Möglichkeit gibt, den Cursor per VBA in einer Spalte zur nächsten Zelle mit ungleichem Inhalt springen zu lassen und dort dann zB. 2 Leerzeilen einzufügen. Das Ganze ist natürlich variabel.

A
1 AAA - also von hier
2 AAA
3 AAA
4 BBB - nach hier :)
5 BBB
Im Voraus vielen Dank für eure Hilfe!
Gruß
Patrik

Bild

Betrifft: AW: Liste
von: Daniel
Geschrieben am: 27.07.2015 17:02:48
Hi
nein, diese Möglichkeit gibt es nicht.
wenn die Liste nach spalte A nicht nur Gruppiert, sondern auch sortiert ist, dann kannst du auch so vorgehen:
1. Spalte A in die nächste und übernächste freie Spalte kopieren (du hast zwei kopien von A)
2. in der zweiten kopie die Duplikate entfernen (da muss ich einem Profi hoffentlich nicht erklären wie das geht)
3. jetzt die Werte aus der zweiten Spalte unter die erste Spalte kopieren und das ganze so oft wiederholen, wie du leerspalten haben willst.
deine Tabelle sollte jetzt so aussehen:
AAA AAA AAA
AAA AAA BBB
AAA AAA
BBB BBB
BBB BBB
___ AAA
___ BBB
___ AAA
___ BBB
4. jetzt sortierst du die ganze tabelle nach der ersten Hilfsspalte (also nach der unter der du die Werte aus der 2. Hilfsspalte eingefügt hast
5. Lösche dann die beiden Hilfsspalten.
Per VBA kann man das dann genauso machen.
Da das ganze ja nur eine Abfolge von Excelfunktionen ist, kann man sich zum Grossen Teil vom Recorder bei der der Erstellung des codes helfen lassen.
Gruß Daniel

Bild

Betrifft: ohne Cursor-"hüpfen" geht das auch ...
von: Matthias L
Geschrieben am: 27.07.2015 17:10:23
Hallo
https://www.herber.de/bbs/user/99098.xlsm
Gruß Matthias

Bild

Betrifft: AW: Liste
von: Michael
Geschrieben am: 27.07.2015 17:31:02
Hi Patrik,
programmieren kann man viel, aber in dem Fall ist die Frage, wie das zu bedienen sein soll.
Die simpelste Variante ist ein Tastenkürzel, wobei das hinterlegte Makro dann von der gerade aktiven Zelle aus den nächsten, anderen Wert sucht und dorthin springt.
Hier das Makro:

Sub springen()
Dim wert As Variant
Dim c As Range
Dim z As Long
z = Cells(Rows.Count, ActiveCell.Column).End(xlUp).Row
wert = ActiveCell.Value
Set c = ActiveCell
While c.Value = wert And c.Row <= z
Set c = c.Offset(1)
Wend
c.Resize(2, 1).EntireRow.Insert Shift:=xlDown
c.Select
End Sub
Happy Exceling,
Michael

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Excel Rahmen statisch"