Werte aus einer Tabelle vergleichen, einlesen und addieren
Hallo zusammen,
leider bin ich ein absoluter Anfänger und muss mit VBA gleich eine schwierige Aufgabe auf Arbeit lösen. Hoffe ihr könnt mir helfen.
Ich habe eine Übersichtstabelle mit Namen in Spalte A und eine Anzahl von Aufträgen in Spalte D stehen.
Eine zweite Ausleitungstabelle enthält alle Aufträge in Spalte H und alle Namen der Bearbeiter in Spalte B. Hier können Namen mehrfach vorkommen.
In der Übersichtstabelle sollen die alten Werte in Spalte D addiert werden, mit den Werten wenn sie in der Ausleitungstabelle stehen. Sonst soll der alte Wert einfach übernommen werden.
Gibt es da einen Lösungsweg für Anfänger?
Vielen Dank schon einmal für eure Mühe.
Schöne Grüße
Lars
leider bin ich ein absoluter Anfänger und muss mit VBA gleich eine schwierige Aufgabe auf Arbeit lösen. Hoffe ihr könnt mir helfen.
Ich habe eine Übersichtstabelle mit Namen in Spalte A und eine Anzahl von Aufträgen in Spalte D stehen.
Eine zweite Ausleitungstabelle enthält alle Aufträge in Spalte H und alle Namen der Bearbeiter in Spalte B. Hier können Namen mehrfach vorkommen.
In der Übersichtstabelle sollen die alten Werte in Spalte D addiert werden, mit den Werten wenn sie in der Ausleitungstabelle stehen. Sonst soll der alte Wert einfach übernommen werden.
Gibt es da einen Lösungsweg für Anfänger?
Vielen Dank schon einmal für eure Mühe.
Schöne Grüße
Lars
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 244849
Url: https://administrator.de/contentid/244849
Ausgedruckt am: 16.11.2024 um 11:11 Uhr
2 Kommentare
Neuester Kommentar
Hallo Lars, Willkommen auf Administrator.de!
Dafür benötigst du noch nicht einmal VBA. Es reicht hier die Formel SummeWenn() mit der du die Summen der einzelnen Mitarbeiter in der Ausleitungstabelle aufsummierst und dann mit den Werten in Spalte D deiner Übersichtstabelle addierst.
Siehe dazu folgendes Demo-Sheet
VBA ist auch kein Problem. Da du aber nach einer Anfängerlösung suchst, ist die Formelvariante die am einfachsten zu implementierende
Falls du es dennoch in VBA benötigst, siehe dieses VBA-Demo-Sheet (Kommentare findest du im hinterlegten Code)
Viel Erfolg
Grüße Uwe
Dafür benötigst du noch nicht einmal VBA. Es reicht hier die Formel SummeWenn() mit der du die Summen der einzelnen Mitarbeiter in der Ausleitungstabelle aufsummierst und dann mit den Werten in Spalte D deiner Übersichtstabelle addierst.
Siehe dazu folgendes Demo-Sheet
VBA ist auch kein Problem. Da du aber nach einer Anfängerlösung suchst, ist die Formelvariante die am einfachsten zu implementierende
Falls du es dennoch in VBA benötigst, siehe dieses VBA-Demo-Sheet (Kommentare findest du im hinterlegten Code)
Sub Summierung()
Dim ws1 As Worksheet, ws2 As Worksheet, rngNames As Range, rngSearch As Range, cell As Range, c As Range
Set ws1 = Worksheets(1) 'Übersichtstabelle
Set ws2 = Worksheets(2) 'Ausleitungstabelle
Set rngNames = ws1.Range("A2", ws1.Cells(Rows.Count, 1).End(xlUp)) ' Bereich der Namen in der Übersichtstabelle
Set rngSearch = ws2.Range("B2", ws2.Cells(Rows.Count, 2).End(xlUp)) ' Bereich der Namen in der Ausleitungstabelle
' Für jeden Namen in der Übersichtstabelle
For Each cell In rngNames
'Suche den Namen in der Ausleitungstabelle
Set c = rngSearch.Find(cell.Value, LookIn:=xlValues, Lookat:=xlWhole)
' Wenn der Name gefunden wurde ...
If Not c Is Nothing Then
firstAddress = c.Address
' Suche so lange weiter nach dem Namen bis er nicht mehr gefunden wird
Do
' Addiere die Werte der Zellen
cell.Offset(0, 3).Value = Int(cell.Offset(0, 3).Value) + Int(c.Offset(0, 6).Value)
'Finde den nächsten Treffer
Set c = rngSearch.FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
Next
End Sub
Grüße Uwe