Microsoft Excel

Herbers Excel/VBA-Archiv

Leere Zeilen einfügen, wenn Änderung Wert

Betrifft: Leere Zeilen einfügen, wenn Änderung Wert von: Claudia
Geschrieben am: 28.09.2014 20:59:22

Hallo zusammen,

ich habe in einer Datei ca. 1000 Zeilen stehen (gefüllt von A bis ....). Solche Dateien mehrmals im Monat.

In Spalte A steht der entscheidende Ordnungsbegriff. Die Spalte A ist sortiert. Der Ordnungsbegriff kommt vielfach vor (kann aber auch nur einmal enthalten sein).

Damit man sich schneller ein Bild machen kann, welche Zeilen zusammen gehören, würde ich gerne nach jeder Wertänderung in Spalte A eine leere Zeile einfügen.

Wer kann mir hier mit VBA unter die Arme greifen?

Vielen lieben Dank!

Claudia

  

Betrifft: AW: Leere Zeilen einfügen, wenn Änderung Wert von: {Boris}
Geschrieben am: 28.09.2014 21:07:32

Hi Claudia,

...würde ich gerne nach jeder Wertänderung ...

Wie geschieht diese Wertänderung?
Und wozu soll es dann eine neue Zeile geben?

Beschreib mal etwas genauer, was da passieren soll. Am Besten mit einem kleinen Beispiel.

VG, Boris


  

Betrifft: AW: Leere Zeilen einfügen, wenn Änderung Wert von: Claudia
Geschrieben am: 28.09.2014 21:27:06

Hallo Boris,

vielen Dank dass du mir helfen möchtest.
Wertänderung ist der falsche Begriff. Ich bekomme die Datei so geliefert.
Und bevor ich die Einträge anschaue, würde ich gerne eine Trennung per
Leerer Zeile haben.

Liebe Grüße
Claudia


  

Betrifft: Ich versteh kein Wort... von: {Boris}
Geschrieben am: 28.09.2014 21:28:52

Hallo Claudia,

...kannst Du nicht mal ein kleines Beispiel schildern?

VG, Boris


  

Betrifft: AW: Ich versteh kein Wort... von: Claudia
Geschrieben am: 28.09.2014 21:36:21

Ok, hier mal eine Datei mit zwei Reitern.

Der zweite Reiter ist so wie ich die Darstellung haben möchte.

https://www.herber.de/bbs/user/92861.xlsx


  

Betrifft: AW: Ich versteh kein Wort... von: Claudia
Geschrieben am: 28.09.2014 21:36:25

Ok, hier mal eine Datei mit zwei Reitern.

Der zweite Reiter ist so wie ich die Darstellung haben möchte.

https://www.herber.de/bbs/user/92861.xlsx


  

Betrifft: AW: Ich versteh kein Wort... von: {Boris}
Geschrieben am: 28.09.2014 21:57:49

Hi Claudia,

jetzt versteh ich, was Du meinst. Allerdings ist das gegen jeden guten Excelstil, eine zusammenhängende Liste zu "zerstückeln".
Was spricht gegen eine bedingte Formatierung - ich hab Dir das mal in das Blatt "Falsch" eingebaut.

https://www.herber.de/bbs/user/92863.xlsx

VG, Boris


  

Betrifft: AW: Ich versteh kein Wort... von: Daniel
Geschrieben am: 28.09.2014 22:08:02

Hi

Wenn du der Übersichtlichkeit halber einer Leerzeile zwischen den Gruppen haben willst, dann kannst du die so einfügen:

1. Kopiere die Daten der Spalte A.
2. Füge die kopierten Werte am Ende von Spalte A wieder ein.
3. Wende auf die neu eingefügten Daten die Funktion Daten-Datentools-DuplikateEntfernen an.
4. sortiere die ganze Tabelle nach der Spalten A.

Gruß Daniel


  

Betrifft: AW: Ich versteh kein Wort... von: {Boris}
Geschrieben am: 28.09.2014 22:12:18

Hi Daniel,

Wenn du der Übersichtlichkeit halber einer Leerzeile zwischen den Gruppen haben willst

Ich mag mich vielleicht irren, aber ich denke, dadurch sind die nächsten Probleme vorprogrammiert ("Basiskenntnisse").
Daher mein (eher gut gemeinter) Hinweis.

VG, Boris


  

Betrifft: Abgesehen mal davon, dass bei Daniels ... von: Luc:-?
Geschrieben am: 28.09.2014 23:13:44

…Lösung dann ja noch die überzähligen Bezeichnungen in Spalte A entfernt wdn müssten, Boris,
pflichte ich dir bei, sonst hätte ich ja auch so etwas (anwendbar aufs Original bzw Daniels Lösungs­ergebnis) empfehlen können, falls das letztlich auf tabellen­analoges Listen-Design hinauslaufen sollte… ;-)
Gruß, Luc :-?


  

Betrifft: AW: überzählige Bezeichnungen in Spalte A entf. von: Daniel
Geschrieben am: 29.09.2014 13:04:13

für jemanden der den Autofilter kennt (und der gehört für mich zu den Basiskenntnissen) eine leichte Übung.
ich würde die Überzähligen Bezeichenungen in Spalte A aber drin lassen, damit die Tabelle sortier- und filterbar bleibt.
Gruß Daniel


  

Betrifft: Tja, was gehört zu 'Xl-BasisKenntnisse'? ;-) von: Luc:-?
Geschrieben am: 29.09.2014 13:31:37

Und was wird mit dieser BlockVereinzelung wirklich bezweckt, Daniel;
nur Übersichtlichkeit? Dafür gibt's auch noch unterschiedl starke ZellRahmen, differierende ZellFarben (Boris) u.a. TabellenDesigns, abgesehen mal von Pivot & Co. Aber das hattest du ja auch angedeutet.
So (mit Leerzeile) wdn eigentl mehrere Tabellen draus.
Das Filtern wird durch die Leerzeilen ja nicht gestört. Die Wiederholung des Textes in der A-Leerzeile ist also nur sinnvoll, wenn die Leerzeile mitgefiltert wdn soll, um diese Struktur auch beim Filtern beizubehalten.
Gruß, Luc :-?


  

Betrifft: Noch eine VBA-Alternative von: {Boris}
Geschrieben am: 28.09.2014 22:17:54

Hi Claudia,

wenn die Daten immer in A2 beginnen (A1 ist also die Überschrift):

Option Explicit

Sub blockweise_faerben()
Dim C As Range
For Each C In Range("A3:A" & Range("A3").End(xlDown).Row)
    If C = C.Offset(-1) Then
        C.Resize(1, C.End(xlToRight).Column).Interior.ColorIndex = C.Offset(-1).Interior. _
ColorIndex
    Else
        C.Resize(1, C.End(xlToRight).Column).Interior.ColorIndex = IIf(C.Offset(-1).Interior. _
ColorIndex = xlNone, 6, xlNone)
    End If
Next C
End Sub
Ich bleib dabei, dass die Leerzeilen nicht wirklich gut sind.

VG, Boris


  

Betrifft: AW: Ich versteh kein Wort... von: Mullit
Geschrieben am: 29.09.2014 00:14:42

Hallo,

da haben die anderen Kollegen natürlich recht;
wenn Du doch noch ein Zerstücklungsvariante suchst, dann:

Option Explicit

Public Sub prcHannibalLecter()
Dim lngIndex As Long, lngCount As Long
Application.ScreenUpdating = False
With ActiveSheet
    For lngIndex = 3 To .Cells(.Rows.Count, 1).End(xlUp).Row
       If .Cells(lngIndex + lngCount, 1) <> .Cells(lngIndex + lngCount - 1, 1) Then
         .Cells(lngIndex + lngCount, 1).EntireRow.Insert Shift:=xlShiftDown, CopyOrigin:= _
xlFormatFromLeftOrAbove
         lngCount = lngCount + 1
       End If
    Next
End With
Application.ScreenUpdating = True
End Sub

Gruß,


 

Beiträge aus den Excel-Beispielen zum Thema "Leere Zeilen einfügen, wenn Änderung Wert"