Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1216to1220
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

Doppelte Werte zusammen addieren

Doppelte Werte zusammen addieren
Pascal
Hallo liebes Forum,
ich hab mal eine Frage. Ich hab eine Datei. Im ersten Tabellenblatt " Zeitprotokoll" befinden sich in der Spalte E Innenauftragsnummern, diese Innenauftragsnummern können auch mehrfach vorkommen.
In der Spalte K befinden sich die dazu gehörigen Zeiten. Jetzt würde ich gerne ein Makro haben, das die Innenauftragsnummer durch sucht auf doppelte und die Zeiten in Spalte K zusammen addiert. Das Ganze soll dann im zweiten Tabellenblatt "Auswertung " zusammen gefasst werden.
Ich hab beim Googeln mal ein Makro gefunden. Der liest aber die Zeiten in Spalte K nicht sonder in Spalte G. Wie muss ich den verändern?
hier der Makro:

Sub Auswerten_der_IA()
Dim myDict1  As Object
Dim WkSh_Q   As Worksheet
Dim WkSh_Z   As Worksheet
Dim vTemp    As Variant
Dim iIndx    As Integer
Dim rZelle   As Range
Set myDict1 = CreateObject("Scripting.Dictionary")
Set WkSh_Q = ThisWorkbook.Worksheets("Zeitprotokoll") ' den Tabellenblattnamen ggf. anpassen! _
Set WkSh_Z = ThisWorkbook.Worksheets("Auswertung") ' den Tabellenblattnamen ggf. anpassen!
'    die Eingabe-Werte in ein Array speichern
vTemp = WkSh_Q.Range("E6:K6" & WkSh_Q.Cells(Rows.Count, 1).End(xlUp).Row)
'    den Array abarbeiten
For iIndx = LBound(vTemp) To UBound(vTemp)
If Trim$(vTemp(iIndx, 1))  "" Then ' ist die Zele nicht leer?
'           in's Dictionary übernehmen und zählen
myDict1(vTemp(iIndx, 1)) = myDict1(vTemp(iIndx, 1)) + Val(vTemp(iIndx, 3))
End If
Next iIndx
'    ausgeben der per Dictionary gesammelten Daten
WkSh_Z.Range("A2:C250").ClearContents ' den Ausgabe-Bereich leeren/löschen
Set rZelle = WkSh_Z.Range("A1")       ' den Ausgabe-Bereich festlegen
rZelle.Resize(myDict1.Count) = WorksheetFunction.Transpose(myDict1.Keys)
rZelle.Offset(0, 2).Resize(myDict1.Count) = WorksheetFunction.Transpose(myDict1.Items)
'    die Bereiche wieder freigeben
Set myDict1 = Nothing
Set WkSh_Q = Nothing
Set WkSh_Z = Nothing
End Sub

Danke schon mal für eure hilfe
Pascal

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Doppelte Werte zusammen addieren
08.06.2011 12:50:32
Rudi
Hallo,
myDict1(vTemp(iIndx, 1)) = myDict1(vTemp(iIndx, 1)) + Val(vTemp(iIndx, 7))
Gruß
Rudi
Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige