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

Spalten summieren mit Bedingungen

Spalten summieren mit Bedingungen
29.09.2012 19:06:12
Dietmar
Hallo in die Runde,
poste nachfolgendes Anliegen erneut, da ich auf meine Ergänzungsfrage bisher keine Anwort erhalten habe. Sitze aber seit Tagen an einer Aufgabe und komme leider nicht vorwärts. Vielleicht ist meine Ergänzungsfrage ja nicht angekommen.
Mit folgendem Code von Boris werden Spaltenbezifferungen in Zeile 1 ausgewertet und darunterliegende Spalteninhalte eines fest definierten Bereichs mit gleichen Ziffern in Zeile 1 nach rechts in einer anderen Spalte summiert, die die gleiche Ziffer in Zeile 1 hat. (Prinzip Filiale, Zentrallager).
Sub til()
Dim C As Range
Application.Calculation = xlCalculationManual
For Each C In Range("B3:K12")
If Cells(1, C.Column)  "" Then
Cells(C.Row, 13 + Cells(1, C.Column)) = Cells(C.Row, 13 + Cells(1, C.Column)) + C
C.ClearContents
End If
Next C
Application.Calculation = xlCalculationAutomatic
End Sub
Mein Problem:
Der Uebertrag nach rechts ist fixiert. Ich kann keine neuen Spalten einfügen. Hat jemand eine Idee, wie ich den Code ändern muss, damit die Summierung nach rechts variabler ist.
Füge nachfolgende Beispieldatei beigefügt. Die Spalten mit den grünen und roten Zellen sind nun neu hinzugekommen, so dass obiger Code nicht mehr passt.
https://www.herber.de/bbs/user/81928.xls
Vielen Dank
Dietmar aus Aachen

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalten summieren mit Bedingungen
30.09.2012 18:53:36
fcs
Hallo Dietmar,
so werden die zusätzlichen 2 Spalten je Zentrallager berücksictigt.
Gruß
Franz
Sub til()
Dim C As Range, Lager As Variant
Application.Calculation = xlCalculationManual
For Each C In Range("B3:K12")
Lager = Cells(1, C.Column).Value
If Lager  "" Then
With Cells(C.Row, 14 + (Lager - 1) * 3)
.Value = .Value + C
End With
C.ClearContents
End If
Next C
Application.Calculation = xlCalculationAutomatic
MsgBox "Fertig!"
End Sub

Danke, passt!
30.09.2012 19:40:04
Dietmar
Hallo Franz,
herzlichen Dank.
Damit komme ich gut klar. Wenn ich doch noch Spalten zwischen den Zentrallagern brauche, kann ich ja *3 entsprechend erweitern.
Schönen Restsonntag noch!
Viele Grüße
Dietmar
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige