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

Summe anstelle Anzahl zählen.

Summe anstelle Anzahl zählen.
18.01.2009 15:10:00
Wolfgang
Hallo,
den untenstehenden Code hatte mir Tino zur Verfügung gestellt. Er bewirkt, dass die Anzahl der Übereinstimmungen zwischen Spalte D und H angezeigt wird. Wie müßte der Code geändert werden, wenn -bei gleichen Voraussetzungen zwischen Spalte D und H nun allerdings die jeweilige Summe in Spalte G zusammengerechnet wird? - Danke schon jetzt wieder für die Rückmeldungen.
Gruß - Wolfgang

Sub Schaltfläche1_BeiKlick()
Dim meArea1, meArea2
Dim A As Long
Dim meCounter As Long
Dim Suchwert1 As String, Suchwert2 As String
With Sheets("Start")
Suchwert1 = .Range("A2")
Suchwert2 = .Range("B2")
With Sheets("Tabelle1")
meArea1 = .Range("D1", .Cells(.Cells.SpecialCells(xlCellTypeLastCell).Row, 4))
meArea2 = .Range("H1", .Cells(.Cells.SpecialCells(xlCellTypeLastCell).Row, 8))
End With
For A = 1 To UBound(meArea1)
If meArea1(A, 1) = Suchwert1 And Suchwert2 = meArea2(A, 1) Then _
meCounter = meCounter + 1
Next A
MsgBox meCounter
.Range("A5") = meCounter
End With
End Sub


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

Betreff
Datum
Anwender
Anzeige
AW: Summe anstelle Anzahl zählen.
18.01.2009 15:40:00
Daniel
Hi

Sub Schaltfläche1_BeiKlick()
Dim meArea1, meArea2, meArea3
Dim A As Long
Dim meCounter As Long
Dim Suchwert1 As String, Suchwert2 As String
With Sheets("Start")
Suchwert1 = .Range("A2")
Suchwert2 = .Range("B2")
With Sheets("Tabelle1")
meArea1 = .Range("D1", .Cells(.Cells.SpecialCells(xlCellTypeLastCell).Row, 4))
meArea2 = .Range("H1", .Cells(.Cells.SpecialCells(xlCellTypeLastCell).Row, 8))
meArea3 = .Range("G1", .Cells(.Cells.SpecialCells(xlCellTypeLastCell).Row, 7))
End With
For A = 1 To UBound(meArea1)
If meArea1(A, 1) = Suchwert1 And Suchwert2 = meArea2(A, 1) Then _
meCounter = meCounter + meArea3(A,1)
Next A
MsgBox meCounter
.Range("A5") = meCounter
End With
End Sub


Gruß, Daniel

Anzeige
AW: Summe anstelle Anzahl zählen.
18.01.2009 18:04:09
Wolfgang
Hallo Daniel,
sorry, ich hatte zunächst Deinen Beitrag vollkommen übersehen und mich auf den Beitrag von Gerd "gestürzt"; Der Code vom Gerd hätte für mich den Vorteil, nicht soviel verändern/anpassen zu müssen (im Code sind 51 Area enthalten). Ich habe Deinen Code ansatzweise aber 'mal angepasst und ausprobiert. Wie könnte in Deinem Code noch abgefangen werden, wenn zwar Spalte D und Spalte H übereinstimmen, Spalte G aber keine Zahl enthält? Da meldet sich jetzt VBA. Danke für Deine Rückmeldung.
Gruß - Wolfgang
AW: Summe anstelle Anzahl zählen.
18.01.2009 15:43:00
Gerd
Hallo Wolfgang!
meCounter = meCounter + .Range("G"& A).Value
Den Varibablentyp für meCounter musst Du ggf. auf Currency oder Double, halt den passenden
ändern, je nachdem welchen Typs die Wert sind, die in Spalte G stehen.
Gruß Gerd
Anzeige
AW: Summe anstelle Anzahl zählen.
18.01.2009 16:43:48
Wolfgang
Hallo Gerd,
Danke für Deine Rückmeldung. Ich habe versucht, Deine Ergänzungen in den Code (der in Wirklichkeit viel länger ist) einzubauen, es erscheint aber an einer bestimmten Stelle dann Typen unverträglich. Kann das mit Deinem Hinweis, den Variablentyp noch anzupassen, zusammenhängen? - Wie müßte ich ggfs. den Variablentyp anpassen, wovon wäre der abhängig? - In Spalte G stehen Zahlen z.B. "1,5", die Zellen sind mit "Zahl" formatiert. Danke schon jetzt wieder für Deine Rückmeldung.
AW: Summe anstelle Anzahl zählen.
18.01.2009 17:05:00
Gerd
Hallo Wolfgang,
upss. Ich hatte noch übersehen, dass evtl. ausgeblendetete Zeilen im Spiel sind.
meCounter= meCounter+ meArea2(A, 1).offset(0,-1).Value
meCounter kann dann (bei "1,5") keine Ganzzahl-Variable mehr sein, wenn die
Nachkommastellen mit summiert werden sollen.
Deklariere mal meCounter mit "Dim --- as Double" oder "Dim as .... Currency"
Gruß Gerd
Anzeige
AW: Summe anstelle Anzahl zählen.
18.01.2009 17:56:00
Wolfgang
Hallo Gerd,
habe den Code entsprechend angepasst - nun meldet VBA, dass ein Objekt erforderlich ist (bei beiden Deklarationsvarianten). Hättest Du da evtl. noch eine Idee?
Gruß - Wolfgang
AW: Summe anstelle Anzahl zählen.
18.01.2009 18:35:00
Gerd
Hallo Wolfgang,
sorrry, Du hat ja keine Ranges sondern Variant-Arrays
Mache es wie von Daniel vorgeschlagen, lasse aber mal die geänderte Deklarierung bei mecounter.
Gruß Gerd
AW: Summe anstelle Anzahl zählen.
18.01.2009 19:49:00
Gerd
Hallo Wolfgang,
probier mal.

Sub Schaltfläche1_BeiKlick()
Dim meArea1, meArea2, meArea3
Dim A As Long
Dim meCounter As Currency
Dim Suchwert1 As String, Suchwert2 As String
With Sheets("Start")
Suchwert1 = .Range("A2")
Suchwert2 = .Range("B2")
With Sheets("Tabelle1")
meArea1 = .Range("D1", .Cells(.Cells.SpecialCells(xlCellTypeLastCell).Row, 4))
meArea2 = .Range("H1", .Cells(.Cells.SpecialCells(xlCellTypeLastCell).Row, 8))
meArea3 = .Range("H1", .Cells(.Cells.SpecialCells(xlCellTypeLastCell).Row, 7))
End With
For A = 1 To UBound(meArea1)
If meArea1(A, 1) = Suchwert1 And Suchwert2 = meArea2(A, 1) Then
If IsNumeric(meArea3(A, 1)) Then meCounter = meCounter + meArea3(A, 1)
End If
Next A
MsgBox meCounter
.Range("A5") = meCounter
End With
End Sub


Gruß Gerd

Anzeige
Danke Gerd und Daniel
18.01.2009 20:29:26
Wolfgang
Hallo Gerd,
Hallo Daniel,
Ich habe den Code soeben anpassen können und er läuft soweit wunderbar. Die Frage mit der fehlenden Zahl/Eintragung hatte ich schon zwischenzeitlich über die Eingabemaske gelöst und darin eine 0 als Vorgabe eingegeben, so dass in Spalte G dann immer eine Zahl stehen müsste. Ich werde aber auch, Gerd Deinen Vorschlag noch aufgreifen und den Code entsprechend anpassen. Komme heut wohl nicht mehr dazu, werde mich also morgen diesbzgl. wieder zurückmelden. Einstweilen nochmals recht herzlichen Dank, Ihr habt mir wieder einmal sehr toll geholfen.
Herzliche Grüße
Wolfgang
Anzeige
Danke Gerd - war wichtig!
19.01.2009 07:34:43
Wolfgang
Hallo Gerd,
ich habe soeben noch die Änderungen nach Deinem Vorschlag vorgenommen, um festzustellen, dass diese sehr wichtig sind, da erst damit überhaupt wohl auch die Nachkommastellen mitgerechnet werden. Hab somit recht herzlichen Dank für Deine erneute Meldung und die Ausarbeitungen.
Gruß - Wolfgang

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige