Anzeige
Archiv - Navigation
1292to1296
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

Einzelne Werte einer Zeile in andere Zeile addiere

Einzelne Werte einer Zeile in andere Zeile addiere
04.01.2013 11:51:50
Dietmar
Hallo in die Runde,
und zunächst ein gutes Neues Jahr 2013 !
Mit folgendem Code addiere ich zusammenhängende Werte einer Zeile in eine eine darüberliegende Zeile, in der sich bereits Werte befinden.
Frage:
Wie erreiche ich, das NURdie Zellen B14, H14, N14, T14 übertragen werden?
(Nach B14 ist es also die 6, 12. und 18. Zelle).
Hier die Datei: https://www.herber.de/bbs/user/83246.xls
Vielen Dank für jeden Tipp!
Dietmar aus Aachen
Sub Addition_ZeilenWerte()
Dim rngC As Range
If Application.Count(Range("B14:T14"))  0 Then '= Quelle
For Each rngC In Range("B14:T14").SpecialCells(xlCellTypeConstants)
With rngC
.Offset(-2, 0) = .Offset(-2, 0) + .Value  '=Ziel
End With
Next
Else
Exit Sub
End If
End Sub

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Einzelne Werte einer Zeile in andere Zeile addiere
04.01.2013 12:14:05
Rudi
Hallo,
eine Möglichkeit:
Sub Addition_ZeilenWerte()
Dim rngC As Range, rng As Range
Set rng = Union(Range("B14"), Range("H14"), Range("N14"), Range("T14"))
If Application.Count(rng)  0 Then '= Quelle
For Each rngC In rng.SpecialCells(xlCellTypeConstants)
With rngC
.Offset(-2, 0) = .Offset(-2, 0) + .Value  '=Ziel
End With
Next
End If
End Sub

Gruß
Rudi

AW: Einzelne Werte einer Zeile in andere Zeile addiere
04.01.2013 12:17:11
Gerd
Hallo Dietmar!
Sub Addition_ZeilenWerte()
Dim rngC As Range
For Each rngC In Range("B12,H12,N12,T12")
With rngC
If IsNumeric(.Offset(2, 0).Text) Then .Value = .Value + .Offset(2, 0).Value
End With
Next
End Sub
Gruß Gerd

Anzeige
AW: Einzelne Werte einer Zeile in andere Zeile addiere
04.01.2013 13:11:13
Gerd
Hallo Dietmar!
Sub c()
Dim lngCol As Long
For lngCol = 2 To 60 Step 6
If IsNumeric(Cells(14, lngCol)) Then Cells(12, lngCol) = Cells(12, lngCol) + Cells(14,  _
lngCol)
Next
End Sub

Ansonsten Restriktionen: 256 Zeichen in einer Range-Adresse; 30 Range in Union; 8192 Areas(Teilbereiche) bei Specialcells_Methode.
Gruß Gerd

Danke Rudi, danke Gerd ...
04.01.2013 12:34:28
Dietmar
beide Codes laufen einwandfrei.
Mein Code war nur beispielhaft (wie ja meistens so).
In meiner O-Datei werden es ca. 50 Zellen in dieser Zeile sein.
Daher eine kleine Ergänzungsfrage:
Lässt sich da irgendwo ein Parameter einbauen, dass im Zeilenbereich von ... bis ... jeder 6. Wert genommen werden soll?
Wenn nicht, wird es wohl auch so gehen.
Hoffe, dass es bei der Anzahl der Zellaufzählungen keine Beschränkungen geben wird.
Viele Grüß
Dietmar

Anzeige
AW: Danke Rudi, danke Gerd ...
04.01.2013 13:06:54
Rudi
Hallo,
sowas?
Sub Addition_ZeilenWerteA()
Dim i As Integer
For i = 0 To 49 '50 Zellen
With Cells(14, 2) 'Start in B14
.Offset(-2, i * 6) = .Offset(-2, i * 6) + .Offset(, i * 6) '=Ziel
End With
Next
End Sub

Gruß
Rudi

Perfektissimo ...
04.01.2013 15:42:56
Dietmar
danke Rudi,
auf solche eine tolle Lösung hatte ich gehofft !
Viele Grüße
Dietmar

Danke Rudi, danke Gerd ...
04.01.2013 12:34:58
Dietmar
beide Codes laufen einwandfrei.
Mein Code war nur beispielhaft (wie ja meistens so).
In meiner O-Datei werden es ca. 50 Zellen in dieser Zeile sein.
Daher eine kleine Ergänzungsfrage:
Lässt sich da irgendwo ein Parameter einbauen, dass im Zeilenbereich von ... bis ... jeder 6. Wert genommen werden soll?
Wenn nicht, wird es wohl auch so gehen.
Hoffe, dass es bei der Anzahl der Zellaufzählungen keine Beschränkungen geben wird.
Viele Grüß
Dietmar
Anzeige

311 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige