Anzeige
Archiv - Navigation
1200to1204
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
Inhaltsverzeichnis

Makro um Zeile einzufügen

Makro um Zeile einzufügen
Micha
Hallo und Guten Morgen Excel-Experten, ich suche eine Funktion die in meiner Tabelle eine neue Zeile einfügt, wenn sich in der Spalte E der Eintrag ändert. In Spalte E stehen in alphabetischer Reihenfolge z. B. 3 x untereinander AAA, dann 4 x BBB, dann 2 x CCC, dann 1 x DDD. Die Anzahl der gleichen Werte variiert jedoch von Tabelle zu Tabelle. Ich suche also ein Makro, dass die Spalte E durchsucht und zwischen jedem Wechsel der Einträge eine Leerzeile einfügt. In diese Zeile sollen dann in Spalte E Werte eingefügt werden in Bezug auf den vorhergehenden Eintrag.... z. B. AAA gesamt: BBB gesamt: .... usw. Ich hoffe, das war einigermaßen verständlich und ich würde mich sehr freuen, wenn jemand eine Lösung hat. Danke im voraus für Eure Mühe.
Viele Grüße Micha

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Makro um Zeile einzufügen
12.02.2011 09:43:59
Erich
Hi Micha,
probier mal

Option Explicit
Sub EinfGesamtZeilen()
Dim zz As Long
For zz = Cells(Rows.Count, 5).End(xlUp).Row To 1 Step -1
If Cells(zz, 5)  Cells(zz + 1, 5) Then
Rows(zz + 1).Insert
Cells(zz + 1, 5) = Cells(zz, 5) & " gesamt"
End If
Next zz
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: Makro um Zeile einzufügen
12.02.2011 09:56:31
Micha
Hallo Erich, DANKE .... erster Testlauf hat funktioniert, so wollte ich es haben. Allerdings habe ich vergessen, dass es in meiner Tabelle auch Überschriften gibt. Die Funktion sollte erst ab Zeile 3 beginnen. Ist das auch möglich? Die ersten 2 Zeilen sollten nicht mit geprüft werden.
Viele Grüße und nochmals Danke Micha
Anzeige
AW: Makro um Zeile einzufügen
12.02.2011 10:12:03
Reinhard
Hallo Micha,
For zz = Cells(Rows.Count, 5).End(xlUp).Row To 3 Step -1
Gruß
Reinhard
ich blinde Schnecke...
12.02.2011 10:17:17
Erich
Hi Reinhard,
da warst du schneller, und ich habe das nicht mal gesehen...
Schönes Wochenende!
Grüße von Erich aus Kamp-Lintfort
@die blinde Schnecke :-)
13.02.2011 18:50:14
Reinhard
Hallo Erich,
in einem anderen Forum muß man nicht seine Excelversion angeben (was ich sehr bedauere), jedenfalls ist es mir schon mehrmals passiert, da fragt einer an, schreibt im Betreff XL2002, ich lese die eigentliche Anfrage, erkenne, aha, da könnte die Version wichtig sein, und bin schon dabei fluchenderweise den Anfrager auf die Brettbeschreibung hinzuweisen und nach der Version zu fragen (Brettbeschreibung bedeutet, das ist ein Forum mit vielen Untergruppen, sogenannten Brettern, Excel ist so ein Brett, und da steht halt, immer Version angeben, naja, wer liest das schon obwohl es immer angezeigt wird, wenn man ein Brett anklickt, aber ich glaube sehr du kennst das Forum :-) )
Zum Glück, fällt mir zu 90% kurz vorm Abschicken der Antwort, beim letzten Überblick noch auf, ups, steht ja im Betreff.
In 10% der Fälle, naja, ist dann halt peinlich *grins*
Gruß
Reinhard
Anzeige
Mini-Änderung
12.02.2011 10:15:30
Erich
Hi Micha,
danke für dfeine Rückmeldung!
Du musst an genau einer Stelle ändern:
For zz = Cells(Rows.Count, 5).End(xlUp).Row To 3 Step -1
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort und: Schönes Wochenende!
AW: Mini-Änderung
12.02.2011 10:35:32
Micha
Hallo Erich, hallo Reinhard - es ist SUPER, so wollte ich es ... DANKE Gruß Micha
AW: Mini-Änderung ... noch eine Frage
12.02.2011 11:32:41
Micha
Hallo Erich, ich trau mich fast gar nicht zu fragen, aber es geht noch weiter in den folgenden Zellen, also rechts nach "gesamt" (in meiner Tabelle ab Spalte F bis L) würde ich gern die vorhandenen Werte addieren. Natürlich nur von Leerzeile zu Leerzeile. Die Summen sollen dann auch in der eingefügten Zeile eingetragen werden.
Also für jeden Block der durch die eingefügte Leerzeile entstanden ist separat. Hört sich jetzt ziemlich kompliziert an, oder? Gibt es da eine Möglichkeit?
Viele Grüße Micha (Ps: Bitte nicht böse sein, wenn ich heute nicht mehr antworte, aber um 12:00 muss ich wegfahren)
Anzeige
Mini-Lösung - Überraschungsei?
13.02.2011 09:59:34
Erich
Hi Micha,
hast du gar nicht gemerkt, was wir da für dich nachprogrammieren sollen?
Vorausgesetzt, die Spalte D (links von dem Betreich, der ausgewertet werden soll) ist leer,
dann sollte das hier sogar mehr als das gewüschte Ergebnis bringen:

Sub Makro1()
Cells(2, 5).Subtotal GroupBy:=1, Function:=xlSum, _
TotalList:=Array(2, 3, 4, 5, 6, 7, 8), Replace:=True, _
PageBreaks:=False, SummaryBelowData:=True
Columns(5).AutoFit
End Sub
Das ist nichts anderes als Daten - Teilergebnisse und auch ohne VBA leicht machbar.
Falls du trotzdem noch einen "Zu-Fuß-Code" mit ähnlichem Ergebnis möchtest, melde dich bitte!
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Mini-Lösung - Überraschungsei?
14.02.2011 08:17:24
Micha
Hallo Erich, danke nochmals... und sorry (Überraschungsei). Ich muss das Tabellenblatt noch verändern, der Code findet keine Überschriften, weil ich mit "merge" Zellen verbunden habe. Aber auf einem Testblatt funktioniert es. Also nochmals vielen Dank!! Gruß Micha

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige