Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
448to452
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
448to452
448to452
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Liste mit Teilergebnissen ergänzen um neue Zeilen

Liste mit Teilergebnissen ergänzen um neue Zeilen
07.07.2004 15:12:26
Sven
Ich möchte in einer bestehenden Liste mit vielen Einträgen (siehe Screenshot) zu jedem Namen einen neuen Eintrag generieren, der für alle Namen gleich sein soll. Gibt es eine Funktion, die ein solches automatisches Hinzufügen von Zeilen zu jedem Namenseintrag möglich macht? (An meinem Bsp. soll nach den Zeilen 6, 10, 14, 18 usw. jeweils eine Zeile eingefügt werden, die den Namen übernimmt, aber eine neue Jahreszahl und einen für alle gleichen Betrag einfügt.)
Zu beachten ist evtl., das die Liste mit der Funktion Teilergebnis arbeitet.
Hat jemand eine Idee für mich?
Userbild

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Liste mit Teilergebnissen ergänzen um neue Zeilen
08.07.2004 08:47:36
Marcel
hallo,
versuch´s mal damit:

Sub Makro1()
' gewünschtes Jahr eingeben
jahr = InputBox("Welches Jahr?")
' gewünschten Betrag eingeben
betrag = InputBox("Welcher Betrag?")
Range("B1").Select
Do While ActiveCell <> ""
For i = 1 To 300000
Name = ActiveCell
ActiveCell.Offset(1, 0).Select
If ActiveCell = "" Then Exit Sub
If ActiveCell <> Name Then GoTo weiter
Next i
Exit Sub
weiter:
ActiveCell.Offset(-2, 0).Select
Rows(ActiveCell.Row).Copy
Rows(ActiveCell.Row).Offset(1, 0).Insert Shift:=xlDown
' Jahr in Spalte E eintragen
ActiveCell.Offset(0, 3) = jahr
' Betrag in Spalte F eintragen
ActiveCell.Offset(0, 4) = betrag
ActiveCell.Offset(3, 0).Select
Loop
End Sub

Gruß
Marcel
Anzeige
AW: Liste mit Teilergebnissen ergänzen um neue Zeilen
08.07.2004 10:29:42
Sven
Hallo Marcel,
das sieht ja für einen Laien wie mich mächtig aus. :-)
Habe deinen Code in ein Makro gepackt und erhalte diese Fehlermeldung:
Userbild

Im Debugger erscheint dies:

Die Datei https://www.herber.de/bbs/user/8227.jpg wurde aus Datenschutzgründen gelöscht

Was mache ich denn da falsch? Hat das evtl. etwas damit zu tun, das das Jahr in Spalte E und der Betrag in Spalte I eingetragen werden soll?
Noch eine Zusatzfrage: Wenn ich gerne auch einen Eintrag in Spalte J machen möchten, nämlich eine Bezeichnung (z.B. 'Zusage für 2003'), wie muß ich das Makro ergänzen?
Vielen vielen Dank für das neuerlich darübersehen vorab!
Sven
Anzeige
AW: Liste mit Teilergebnissen ergänzen um neue Zei
08.07.2004 10:45:06
Reinhard
Hi Sven,
wenn die Bilder stimmen und B2 deine aktive Zelle ist, kommt ein Fehler weil
activecell.offset(-2,0) will dann zu Zelle B0, die es nicht gibt.
Gruß
Reinhard
AW: Liste mit Teilergebnissen ergänzen um neue Zei
08.07.2004 10:52:37
Sven
Hallo Reinhard,
danke für deine Antwort.
Bin leider ohne besonderes VBA-Wissen, deswegen sorry für meine unqualifizierte Nachfrage.
Egal, wo der Cursor steht, wenn ich das Makro starte, er springt immer in Zelle B2.
Wie müsste ich denn das Makro umbauen, das er in meiner Datei die Liste (die mit der Teilsummen-Funktion arbeitet), ergänzt?
(Zu deiner Info: das Makro soll bei jedem Namenseintrag ein Jahr und einen Betrag, sowie eine Bezeichnung eifügen. Diese Angaben sind zwar für alle Namen auf der Liste gleich, die Namen haben aber mal mehr, mal weniger Einträge.)
Kannst du mir weiterhelfen?
Sven
Anzeige
AW: Liste mit Teilergebnissen ergänzen um neue Zei
08.07.2004 12:32:27
Marcel
Ja, ist korrekt. Ich habe einen Fehler gemacht. In meiner Versuchstabelle standen auch in der ersten Spalte Namen.
Versuch mal das:


Sub Makro1()
jahr = InputBox("Welches Jahr?")
betrag = InputBox("Welcher Betrag?")
Range("B2").Select
Do While ActiveCell <> ""
For i = 1 To 300000
Name = ActiveCell
ActiveCell.Offset(1, 0).Select
If ActiveCell = "" Then Exit Sub
If ActiveCell <> Name Then GoTo weiter
Next i
Exit Sub
weiter:
ActiveCell.Offset(-2, 0).Select
Rows(ActiveCell.Row).Copy
ActiveCell.Offset(1, 0).Select
Rows(ActiveCell.Row).Insert Shift:=xlDown
ActiveCell.Offset(0, 3) = jahr
ActiveCell.Offset(0, 4) = betrag
ActiveCell.Offset(3, 0).Select
Loop
End Sub

Gruß
Marcel
Anzeige
AW: Liste mit Teilergebnissen ergänzen um neue Zei
08.07.2004 13:45:03
Sven
Hallo Marcel,
danke, dass du dich so bemühst.
Darf ich nochmals nachfragen? Dein Makro läuft, aber...
...wenn ich den Betrag eingegeben habe und starte, trägt das Makro nicht den eingegebenen Betrag ein, sondern den der letzten Zeile zu dem jeweiligen Namen. (Siehe I7,12,17)
Steckt da noch ein Fehler drin?
(P.S. Welchen Teil des Makros muß ich denn kopieren und abändern, damit ich auch noch den Eintrag für Spalte J selbst auswählen kann?)
Sven
Userbild
AW: Liste mit Teilergebnissen ergänzen um neue Zei
08.07.2004 13:59:03
Marcel

Sub Makro1()
jahr = InputBox("Welches Jahr?")
betrag = InputBox("Welcher Betrag?")
bezeichnung = InputBox("Welche Bezeichnung?")
Range("B2").Select
Do While ActiveCell <> ""
For i = 1 To 300000
Name = ActiveCell
ActiveCell.Offset(1, 0).Select
If ActiveCell = "" Then Exit Sub
If ActiveCell <> Name Then GoTo weiter
Next i
Exit Sub
weiter:
ActiveCell.Offset(-2, 0).Select
Rows(ActiveCell.Row).Copy
ActiveCell.Offset(1, 0).Select
Rows(ActiveCell.Row).Insert Shift:=xlDown
ActiveCell.Offset(0, 3) = jahr
ActiveCell.Offset(0, 7) = betrag
ActiveCell.Offset(0, 8) = bezeichnung
ActiveCell.Offset(3, 0).Select
Loop
End Sub

vielleicht so:
Gruß ausm Norden
Marcel
Anzeige
AW: Liste mit Teilergebnissen ergänzen um neue Zei
08.07.2004 14:13:14
Sven
Danke erstmal für deine Mühe!
Muß jetzt zu einem Termin, komme erst heute Abend zum testen. Gebe morgen 8.00h nochmal Rückmeldung, ob es läuft.
Sven
AW: Liste mit Teilergebnissen ergänzen um neue Zei
08.07.2004 14:23:53
Marcel
Bin ab morgen in Urlaub.
Mail an
hardmarcsebay@aol.com
Bis dann
Marcel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige