Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Summen

Forumthread: VBA Summen

Pivot-Table owT
21.09.2011 09:30:15
Rudi
AW: Pivot-Table owT
21.09.2011 09:37:32
Franz
Hallo Herr Maintaire,
gäbe es vielleicht was in VBA?
Schönen Gruß
VBA gibt's auch
21.09.2011 09:47:23
Rudi
Hallo,
in ein Modul und aus der Tabelle starten:

Sub xxxx()
Dim objDict As Object, arrErg(), rngC As Range, lngI As Long, arrKeys
Set objDict = CreateObject("Scripting.Dictionary")
For Each rngC In Range(Cells(2, 1), Cells(2, 1).End(xlDown))
objDict(rngC.Value & "_" & rngC.Offset(, 1).Value) = _
objDict(rngC.Value & "_" & rngC.Offset(, 1).Value) + rngC.Offset(, 2).Value
Next
arrKeys = objDict.Keys
ReDim arrErg(1 To objDict.Count, 1 To 3)
For lngI = 1 To objDict.Count
arrErg(lngI, 1) = Split(arrKeys(lngI - 1), "_")(0)
arrErg(lngI, 2) = Split(arrKeys(lngI - 1), "_")(1)
arrErg(lngI, 3) = objDict(arrKeys(lngI - 1))
Next
Range(Cells(2, 1), Cells(2, 1).End(xlDown)).Resize(, 3).ClearContents
Cells(2, 1).Resize(objDict.Count, 3) = arrErg
End Sub

Gruß
Rudi
Anzeige
AW: VBA gibt's auch
21.09.2011 09:52:47
Franz
Hallo,
baff...passt..
Wie genial muss jemand sein, der sowas in nullkommanix machen kann!!
Will auch so sein ;-)
Vielen Dank Herr Maintaire.
M.f.G.
Franz
Wie genial muss jemand sein
21.09.2011 10:21:14
Rudi
Hallo,
na, so wie ich ;-)
Und: Rudi, nicht Herr Maintaire.
Gruß
Rudi
AW: Wie genial muss jemand sein
22.09.2011 08:42:35
Franz
Guten Morgen Rudi,
vielleicht noch eine Zusatzfrage für meine Frage:
Bei dem Makro wird ja der Eintrag in Spalte A und Spalte B
auf Gleichheit abgeglichen bevor aufaddiert wird.
Wie sähe es VBA-mässig aus, wenn nur nach der Gleichheit in Spalte A
aufaddiert würde?
Gruß
Franz
Anzeige
Was soll mit Typ geschehen? owT
22.09.2011 09:08:12
Rudi
AW: Was soll mit Typ geschehen? owT
22.09.2011 09:15:37
Franz
Hallo Rudi,
kann man eigentlich weglassen/ignorieren.
Zusatzfrage: Könnte man beim Löschen (nachdem aufaddiert) die ganze Zeile
löschen. Wäre interessant, wenn noch andere Daten in den Zeile ständen.
LG
Franz
AW: Was soll mit Typ geschehen? owT
22.09.2011 09:26:03
Rudi
Hallo,
dann machen wir das ganz anders.

Sub xxxx()
Dim rngDel As Range, rngC As Range
For Each rngC In Range(Cells(2, 1), Cells(2, 1).End(xlDown))
rngC.Offset(, 2) = Application.SumIf(Columns(1), rngC, Columns(3))
If Application.CountIf(Range(Cells(2, 1), rngC), rngC) > 1 Then
If rngDel Is Nothing Then
Set rngDel = rngC
Else
Set rngDel = Union(rngDel, rngC)
End If
End If
Next
If Not rngDel Is Nothing Then rngDel.EntireRow.Delete
End Sub

Gruß
Rudi
Anzeige
AW: Was soll mit Typ geschehen? owT
22.09.2011 09:36:07
Franz
Hallo Rudi,
läuft perfekt.
Vielen Dank Rudi.
LG
Franz
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige