MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Excel
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 09.05.2018, 13:25   #1
Office_user
Neuer Benutzer
Neuer Benutzer
Standard VBA - Excel Leerzeile einfügen nach zwei Kriterien

Hallo Zusammen,

wer kann mir bitte helfen:

Füge in eine sortierte Liste mit folgendem Code Leerzeilen ein:

Zitat:

Dim Zeile As Long
Dim ZeileMax As Long

With Sheets("Tabelle1")
ZeileMax = .UsedRange.Rows.Count

For Zeile = 1 To ZeileMax
If .Cells(Zeile, 14).Value <> .Cells(Zeile + 1, 14).Value Then

.Rows(Zeile + 1).Insert
Zeile = Zeile + 1

End If
Next Zeile
End With

Sortierung erfolgt somit nach Spalte 14 ("Bandnr.")
Wie muss ich den Code verändern/ ergänzen, damit ich Spalte 2 ("Bez.") auch noch als Kriterium aufnehmen kann?

Im Beispiel-Anhang soll somit bei Bandnr. 4 zwischen Zeile 36 u. 37 noch eine Leerzeile rein, damit dies optisch getrennt ist.

Wäre super, wenn mir jemand helfen kann.

Gruß Gerhard
Angehängte Dateien
Dateityp: xlsx Leerzeile_einfügen1.xlsx (11,8 KB, 6x aufgerufen)
Office_user ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 09.05.2018, 14:02   #2
EarlFred
MOF Guru
MOF Guru
Standard

Hallo Gerhard,

schön, dass Du die Mustermappe als xlsx gepostet hast und den Code extra.

Ich würde die Schleife von hinten nach vorne laufen lassen.

Hast Du es so gemeint?
Code:

Option Explicit

Sub test()
Dim Zeile As Long
Dim ZeileMax As Long

With Worksheets("Tabelle1")
  ZeileMax = .Cells(.Rows.Count, 2).End(xlUp).Row
  
  For Zeile = ZeileMax To 2 Step -1
    If (.Cells(Zeile, 14).Value <> .Cells(Zeile - 1, 14).Value) _
      Or (.Cells(Zeile, 2).Value <> .Cells(Zeile - 1, 2).Value) Then
        .Rows(Zeile).Insert
     End If
  Next Zeile
End With

End Sub
Ansonsten nur der Hinweis: Eine lückenlose Liste ist immer günstiger, wenn man weiter damit arbeiten will.

Grüße
EarlFred

__________________

Datum und Uhrzeit, Makrorekorder-Code entschlacken, {Matrixformeln}
Tutorials zu Pivottabellen: Kurzeinstieg; Dynamischer Datenbereich; Daten und Zeiten gruppieren
Für 6 meiner Beiträge haben sich die Hilfesuchenden mit einer Spende an Wikipedia, die Tafeln oder Hilfe für krebskranke Kinder eV bedankt (das entspricht 0,044% per 26.07.2018) - eine tolle Geste!
EarlFred ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 09.05.2018, 14:54   #3
Office_user
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Hallo EarlFred,

im Prinzip ja.

Was ich vorhin nicht bedacht habe, ist aber, dass in der "Bez." z. B. stehen kann: "Apfel grün", "Apfel rot", "Apfel gelb", "Birne grün", "Birne gelb",usw.

Die Zeilen sollen aber pro "Bandnr." zusammenbleiben solange eben z.B. "Apfel*" in der "Bez." vorkommt.

Ist dies möglich?

Gruß Gerhard
Office_user ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 09.05.2018, 18:23   #4
EarlFred
MOF Guru
MOF Guru
Standard

Denk erstmal weiter über die Frage nach, vielleicht merkst Du es selbst.

Ich lege das beiseite, bis eine schlüssige Aufgabe vorliegt.

__________________

Datum und Uhrzeit, Makrorekorder-Code entschlacken, {Matrixformeln}
Tutorials zu Pivottabellen: Kurzeinstieg; Dynamischer Datenbereich; Daten und Zeiten gruppieren
Für 6 meiner Beiträge haben sich die Hilfesuchenden mit einer Spende an Wikipedia, die Tafeln oder Hilfe für krebskranke Kinder eV bedankt (das entspricht 0,044% per 26.07.2018) - eine tolle Geste!
EarlFred ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.05.2018, 16:16   #5
Office_user
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Hallo EarlFred,

habe das Ganze jetzt mit ner Hilfsspalte, in der dann nur "Apfel", "Birne" od. "Tomate" steht versucht - von oben nach unten - andersrum geht's irgendwie nicht so wie ich will.

Folgende Probleme:
1. wie geht's von unten nach oben?
2. Habe jetzt mit den vielen Anweisungen bis zu drei Leerzeilen dazwischen - wie kann ich die bis auf eine Leerzeile wieder mittels VBA löschen?

Anbei die Excel-Datei mit Code (zur Sortierung dann starten)

Kannst du mir hier weiterhelfen

Gruß Gerhard
Angehängte Dateien
Dateityp: xlsm Leerzeile.xlsm (25,2 KB, 1x aufgerufen)
Office_user ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.05.2018, 16:20   #6
EarlFred
MOF Guru
MOF Guru
Standard

Zitat:

Denk erstmal weiter über die Frage nach, vielleicht merkst Du es selbst.

was ist aus diesem Hinweis geworden? Hast Du das grundlegende Problem selbst erkannt?

Zitat:

2. Habe jetzt mit den vielen Anweisungen bis zu drei Leerzeilen dazwischen - wie kann ich die bis auf eine Leerzeile wieder mittels VBA löschen?

Leerzeilen rein, dann wieder raus... Ich habe nie verstanden, warum man Listen mit Leerzeilen unbrauchbar machen muss.

Zitat:

schönschade, dass Du die Mustermappe [nicht] als xlsx gepostet hast und den Code [nicht] extra.

Zitat:

andersrum geht's irgendwie nicht so wie ich will.

das ist schade, erklärt aber nicht, wo Dein Problem liegt.

__________________

Datum und Uhrzeit, Makrorekorder-Code entschlacken, {Matrixformeln}
Tutorials zu Pivottabellen: Kurzeinstieg; Dynamischer Datenbereich; Daten und Zeiten gruppieren
Für 6 meiner Beiträge haben sich die Hilfesuchenden mit einer Spende an Wikipedia, die Tafeln oder Hilfe für krebskranke Kinder eV bedankt (das entspricht 0,044% per 26.07.2018) - eine tolle Geste!
EarlFred ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 16.05.2018, 10:29   #7
Office_user
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Hallo EarlFred,

- habs leider nicht bemerkt - was meinst du? VBA ist immer noch Neuland für mich - bastel u. google halt so lang bis es tut, auch wenn's nicht schön ist.

- die Leerzeile dazwischen ist zur Übersichtlichkeit der gedruckten Liste gedacht - mehrere sind unnötig

hier nochmal mein Code:
Code:

    Dim Zeile As Long
Dim ZeileMax As Long

With Sheets("Tabelle3")
ZeileMax = .UsedRange.Rows.Count

For Zeile = 1 To ZeileMax
If .Cells(Zeile, 15).Value <> .Cells(Zeile + 1, 15).Value _
And .Cells(Zeile, 2).Value = "Apfel" Then

.Rows(Zeile + 1).Insert
Zeile = Zeile + 1
End If
Next Zeile

For Zeile = 1 To ZeileMax
If .Cells(Zeile, 15).Value <> .Cells(Zeile + 1, 15).Value _
And .Cells(Zeile, 2).Value = "Tomate" Then

.Rows(Zeile + 1).Insert
Zeile = Zeile + 1

End If
Next Zeile

For Zeile = 1 To ZeileMax
If .Cells(Zeile, 15).Value <> .Cells(Zeile + 1, 15).Value _
And .Cells(Zeile, 2).Value = "Birne" Then

.Rows(Zeile + 1).Insert
Zeile = Zeile + 1

End If
Next Zeile

For Zeile = 1 To ZeileMax
If .Cells(Zeile, 2).Value <> .Cells(Zeile + 1, 2).Value Then

.Rows(Zeile + 1).Insert
Zeile = Zeile + 1

End If
Next Zeile

End With
Gruß Gerhard
Office_user ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 16.05.2018, 12:08   #8
EarlFred
MOF Guru
MOF Guru
Standard

solange Du meine Fragen nicht beantwortest, ergibt es keinen Sinn, weiter an irgendwas rumzubasteln. Ich frage ja nicht aus Böwilligkeit, sondern weil ich Probleme meine erkannt zu haben, die Dir verborgen sind. Vielleicht gibt es die auch nicht - dafür kenne ich die Aufgabe nicht genau. Da ist es wahrscheinlich, dass die Arbeit für den Papierkorb ist.

__________________

Datum und Uhrzeit, Makrorekorder-Code entschlacken, {Matrixformeln}
Tutorials zu Pivottabellen: Kurzeinstieg; Dynamischer Datenbereich; Daten und Zeiten gruppieren
Für 6 meiner Beiträge haben sich die Hilfesuchenden mit einer Spende an Wikipedia, die Tafeln oder Hilfe für krebskranke Kinder eV bedankt (das entspricht 0,044% per 26.07.2018) - eine tolle Geste!
EarlFred ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 16.05.2018, 16:25   #9
Office_user
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

du musst mir auf die Sprünge helfen - was ist "das grundlegende Problem"? Ich komm nicht drauf.
Office_user ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:27 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.