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

"dynamische "Summe in VBA

"dynamische "Summe in VBA
05.10.2002 11:27:43
Torsten
Hallo Excel-Freunde,

ich muss für eine Menge Zellen in der gleichen Spalte die Summe bilden.
Z.B. für die Zelle A10 muss die Summe A1:A9 sein, für B10 die Summe B1:B9 usw.

Ich muss das ganze in einer for-next-Schleife machen, weil die Anzahl der Spalte, bis zu der ich die Addition fortsetzen muss sich ab und zu ändert.

folgende Versuche schlugen fehl:
Cells(35, zählen).Value = Application.WorksheetFunction.Sum(range(cells(1, spalte).address), cells(9, spalte).address)) 'Hier addiert er dann nur die zwei Werte, nicht auch die Werte dazwischen.
Mit "Range" hat auch nix funktioniert.
In meiner Verzweiflung haben ich dann:" Cells(10, spalte).Value = Cells(10, spalte).Value + Cells(5, spalte).Value + ..." gemacht. Aber es muss doch auch einfacher gehen, oder?

Für eine Lösung wäre ich echt dankbar!!

Viele Grüße,

Torsten

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

Betreff
Datum
Anwender
Anzeige
Re: "dynamische "Summe in VBA
05.10.2002 11:45:56
jinx
Moin, Torsten,

der folgende Code liest die genutzten Spalten in der Zeile1 aus und trägt dann die Summenformel in die entsprechenden Spalten in Zeile 10 ein, bitte Code an andere Bedingungen anpassen:


Sub Torsten()
   Dim intLastColumn As Integer
   intLastColumn = Cells(1, Columns.Count).End(xlToLeft).Column
    For i = 1 To intLastColumn
        Cells(10, i).FormulaR1C1 = "=SUM(R[-8]C:R[-1]C)"
    Next
End Sub

 

     Code eingefügt mit Syntaxhighlighter 1.15

cu
jinx
Anzeige
Re: "dynamische "Summe in VBA
05.10.2002 11:49:33
Hajo_Zi
Hallo Torsten

Cells(35, Zählen).Value = Application.WorksheetFunction.Sum(Range(Cells(1, Spalte), Cells(9, Spalte)))


Gruß Hajo

Re: "dynamische "Summe in VBA
05.10.2002 12:08:12
Nele
Ich hab mich auch mal versucht, auch wenn die Lösung nicht so toll is wie von hajo und jinx, will ich doch auch mal was posten
:o)


Sub Addition()
Dim Spalte As Integer
Dim x As Integer

x = InputBox("Bis zu welcher Spalte wollen sie die Addition durchführen?")
Spalte = 1
For M = 1 To x
Tabelle1.Cells(10, Spalte).Value = Summe(Spalte)
Spalte = Spalte + 1
Next M
End Sub

Function Summe(Spalte As Integer)

Spalte1 = Spalte
Zeile1 = 1
With Worksheets(1)
For N = 1 To 9
Summe = .Cells(Zeile1, Spalte1).Value + Summe
Zeile1 = Zeile1 + 1
Next N
End With
End Function

Anzeige
Danke für eure Antworten
05.10.2002 14:07:49
Torsten
Mir tun schon die Augen weh, deshalb werde ich mich erst später mit euren Antworten befassen.

Aber eins kann ich schon mal sagen: Ihr seid alle toll!!

Re: "dynamische "Summe in VBA
05.10.2002 14:13:20
Torsten
Hallo Hajo,

danke für die Antwort, aber diese Lösung hatte ich auch schon. Aber es wird nicht von Zeile 1 bis Zeile 9 sondern nur die beiden Werte in Zeile 1 und Zeile 9 miteinander addiert.

Ich brauche aber die Range!

Re: "dynamische "Summe in VBA
05.10.2002 14:17:45
Hajo_Zi
Hallo Torsten

bei mir klappt das ohne Probleme.

Gruß Hajo

Re: "dynamische "Summe in VBA
05.10.2002 14:18:44
Torsten
gut, das bringt mir was.

ich habe den ersten Teil wie du gemacht (mit xltoleft) und For-Next.

Ich kam aber nicht drauf, die R1C1-Schreibweise zu benutzen, um die Range hinzubekommen, obwohl ich es hätte eigentlich wissen sollen!

Vielen Dank für deine Lösung!

Anzeige
Re: "dynamische "Summe in VBA
05.10.2002 14:20:35
Torsten
Hallo Nele,

vielen Dank für deine Mühe. Da alles automatisch gehen soll, darf ich nicht mit einer Inputbox arbeiten.

Die Lösung hat mir Halo zugeschickt.

Noch mal vielen Danke aber !!!!

Re: "dynamische "Summe in VBA
05.10.2002 14:22:12
Torsten
Es läuft zwar, aber es werden nur die beiden Werte "Cells(1, Spalte) und Cells(9, Spalte) miteinander addiert. Alles dazwischen leider nicht.

Ist mir aber egal, jetzt habe ich ja deine Lösung.

146 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige