Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1804to1808
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

VBA Problem/Summe erst ab Zelle X

VBA Problem/Summe erst ab Zelle X
08.01.2021 15:29:58
Simone
Hallo Zusammen,
im Prinzip geht es darum, dass ich ab Zeile 13 nach jeder 4 Zeile eine Zeile einfügen lassen möchte und dann für Spalte C-F die Summe aus den 5 Spalten vorher berechnen möchte. Das kriegt mein Code auch hin.
Allerdings möchte ich, dass in Spalte A der Buchstabe aus der vorherigen Zeile übernommen wird und in Spalte B „Sum“ erscheint, dh. da soll keine Summierung erfolgen (siehe Excel farbige Markierung). Egal was ich probiert habe, wenn ich in der Summen-Formel in VBA nicht bei A1 gestartet bin, gab es immer einen Error oder einen ungewollten Output. Habt Ihr einen Vorschlag wie man dies programmieren könnte.
Da ich nur sehr rudimentäre VBA Kenntnisse habe, würde ich mich über jede Hilfe freuen.
Anbei die Excel:
https://www.herber.de/bbs/user/142865.xlsm
Vielen Dank und beste Grüße
Simone

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Problem/Summe erst ab Zelle X
08.01.2021 18:00:41
Oisse
Hallo Simone,
ich weiß zwar nicht, ob ich das richtig verstanden habe, aber teste mal:

Sub SUM()
Dim x As Integer
With ActiveSheet
For x = 18 To 50
.Cells(x, 1).Select
Selection.EntireRow.Insert
ActiveCell.Range("C1:F1").Select
ActiveCell.FormulaR1C1 = "=SUM(R[-5]C:R[-1]C[])"
ActiveCell.Select
Selection.AutoFill Destination:=ActiveCell.Range("A1:D1"), Type:= _
xlFillDefault
.Cells(x, 1) = .Cells(x - 1, 1)
.Cells(x, 2) = "Sum"
x = x + 5
Next x
End With
End Sub

Gruß Oisse
AW: VBA Problem/Summe erst ab Zelle X
08.01.2021 19:16:21
Yal
Hallo Simone,
Du brauchst keine VBA und auch keine Formel, sondern ein Pivottabelle.
(nehme wir an, die "farbige" Summenzeile sind nicht vorhanden)
_ lege in A12 und B12 je ein Überschrift "Buchstabe" und "Cluster"
_ andere die zweizeilige Überschriften in C12:F12 in
MioEUR-12.Dec MioEUR-Q4 MioUSD-12.Dec. MioUSD-Q4
_ Markiere den Bereich A12:F42
_ füge eine Pivottabelle ein: Einfügen, Pivottabelle (Auswahl "vorhandenes Arbeitsblatt", Ziel "I15")
_ im Pivottable-Felder, drag "Buchstabe" & drop ins "Zeilen"
_ Die 4 MioXXX ins "Werte"
_ in Zeilenbeschreibung (ca. I17), Element "0" rausfiltern.
Fertig.
Und jetzt schreibst Du nie wieder eine Zwischensumme in der Mitte einer Datenliste: klare Trennung der Datenhaltung, -Berechnung, -präsentation ("Model-View-Controler" heisst es. Siehe wiki).
Noch besser wäre ein Starschema: Datum in einer Spalte (die Anzahl an Zeilen verdoppelt sich), eine Wert-Spalte pro Währung.
Man könnte auch die Währung "entpivotisieren", also in einer Spalte (Anz.Zeile nochmal x2) aber da es immer eine USD-Wert, wo es ein EUR-Wert gibt, lassen wir sie nebeneinander. Dann kann man den Kurs berechnen.
Viel Erfolg
Yal
Anzeige
Summewenn ist leichter zu lesen
08.01.2021 19:24:00
Yal
In Zelle J4:M8 kommt (hier aus der Zelle J4):
=SUMMEWENN($A:$A;$I4;C:C)
Es ist nicht nur leichter zu lesen, sondern leichter zu prüfen und zu warten.
VG
Yal
AW: VBA Problem/Summe erst ab Zelle X
08.01.2021 19:36:18
Simone
Lieber Oisse,
das war genau das was ich gesucht habe.
Vielen lieben Dank für Deine Hilfe.
Beste Grüße
Simone
AW: VBA Problem/Summe erst ab Zelle X
08.01.2021 19:42:47
Yal
Na gut. Dann packe ich ein :-P
Schaue trotzdem das Thema Pivottabelle an.
Lösungen, die nur in einem einmaligen Kontext funktionieren, sind nur einmalig gute Lösungen
(ja, ich habe viele graue Haare :-)
VG
Yal
AW: VBA Problem/Summe erst ab Zelle X
08.01.2021 19:39:12
Yal
Ach, weil es so lustig ist...
Wenn man die Fehlversuche rausschmwiesst, sind dann nur noch 25 Zeilen zwischen A13:F37 (Je 5 "A", 5 "B"..)
Dann passt folgendes
Public Sub Summen_einfügen()
Dim i
With ActiveSheet
For i = 38 To 14 Step -1
If .Cells(i - 1, 1)  .Cells(i, 1) Then
.Cells(i, 1).EntireRow.Insert
.Cells(i, 1) = .Cells(i - 1, 1)
.Cells(i, 2) = "Sum"
.Cells(i, 3).Resize(1, 4).FormulaR1C1 = "=SUM(R[-5]C:R[-1]C)"
End If
Next
End With
End Sub
Schönes Wochenende
Yal
Anzeige
AW: VBA Problem/Summe erst ab Zelle X
09.01.2021 10:58:14
Herbert_Grom
Hallo Oisse,
dein Code hat zwar das richtige Ergebnis gebracht, aber ein bisschen Nachhilfe in VBA wirst du mir sicher nicht Übel nehmen, hoffe ich jedenfalls. "Selection" brauchst man eigentlich in den wenigsten Fällen! Ich denke, du hast deinen Code überwiegend mit dem Makro-Rekorder aufgezeichnet. Dagegen ist ja auch nix einzuwenden. Aber etwas professioneller sieht das Ganze dann so aus:
Option Explicit
Sub SUM_HAG()
Dim iRow%, iLastRow%
iLastRow = Cells(1048576, 1).End(xlUp).Row + 6
With ActiveSheet
For iRow = 18 To iLastRow
.Cells(iRow, 1).EntireRow.Insert
Range("C" & iRow & ":F" & iRow).FormulaLocal = "=SUMME(C" & iRow - 5 & ":C" & iRow - 1  _
& ")"
.Cells(iRow, 1) = .Cells(iRow - 1, 1)
.Cells(iRow, 2) = "Sum"
iRow = iRow + 5
Next iRow
End With
End Sub
Nix für Ungut!
Servus
Anzeige
AW: VBA Problem/Summe erst ab Zelle X
12.01.2021 14:09:43
Oisse
Hallo Herbert,
das weiß ich. Ich habe diesen Code auch nicht geschrieben nur ein wenig umgeändert. Es ist Simones Code und ich wollte ihn so lassen, weil es für Simone einfach schöner ist, wenn "ihr" Code jetzt läuft (Erfolgserlebnis).
Gruß Oisse
AW: VBA Problem/Summe erst ab Zelle X
12.01.2021 16:12:25
Herbert_Grom
Hallo Oisse,
das mit dem Erfolgserlebnis ist gut. Doch wird mit meinem Code dieses noch einmal erweitert, denn dann kommt zum Erfolgserlebnis auch noch ein Lerneffekt dazu!
Servus
Wo Du Recht hast...
13.01.2021 09:10:58
Oisse
hast Du Recht.
Gruß Oisse

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige