Liebe Excel-Gemeinde,
dieser Artikel richtet sich an alle von euch, die bereits Erfahrung mit VBA haben. Da ich ein ziemlicher Neuling auf diesem Gebiet bin, scheint mir nämlich das folgende Problem als unlösbar:
Eine Tabelle beinhaltet in der ersten Spalte (A) unterschiedliche Begriffe. Zu jedem Begriff sind in der Spalte B, C und D Daten abgelegt. Die Begriffe wiederholen sich, haben aber unterschiedliche zugehörige Daten.
Die wiederholungen sollen aber gelöscht werden und die dazugehörigen Daten sollen vereint werden. Die gesamte Liste ist bereits alfabetisch geordnet.
Beispiel:
A B C D
home 500 20 4%
home 250 30 12%
jens 300 30 10%
jens 900 100 11%
jens 500 250 50%
So soll es mal aussehen:
A B C D
home 750 50 7%
jens 1700 380 22%
Für Anreize und Lösungsvorschläge bin ich euch sehr dankbar!
Gruß
Adam
Hallo Adam,
mir fällt zu deinem Problem eine VBA-freie Version ein:
Richte dir jeweils für home und Jens drei Hilfsspalten ein.
In die erste Spalte die Formel: =wenn(A1=„home“;B1;"")
In die zweite die Formel: =wenn(A1=„home“;C1;"")
in die dritte die Formel: =wenn(A1=„home“;D1;"")
Die dritte Spalte musste du so formatieren, dass sie Prozent anzeigt.
Formel runterziehen, Summe bilden.
Das gleiche machst du dann mit „Jens“.
LG und viel Erfolg
Angel
Hallo Adam,
hier mein Vorschlag:
Formel in Spalte E (Summe der Spalte B für "home" etc.):
=SUMMEWENN($A1:blush:B5;$A1;B1:B5) 'runterziehen bis zum Ende
------------
Formel in Spalte F (Summe der Spalte C für "home" etc.):
=SUMMEWENN($A1:blush:B5;$A1;C1:C5) 'runterziehen bis zum Ende
------------
Formel in Spalte G (%"Summe" der Spalte D für "home" etc.):
=(SUMMEWENN($A1:blush:B5;$A1;C1:C5))/E1 'runterziehen bis zum Ende
------------
Spalte G formatieren als **%**
Das Ergebnis sieht dann so aus:
A B C D E F G
home 500 20 4% 750 50 7%
home 250 30 12%
jens 300 30 10% 1700 380 22%
jens 900 100 11%
jens 500 250 50%
hoffe, mitgeholfen haben zu dürfen …
gruß
moritzbock
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Vielen Dank für die bisherigen Vorschläge, allerdings habe ich wohl einige Dinge vergessen zu erwähnen:
-
es handelt sich um etwa 1000 unterschiedliche Begriffe in über 2000 Zeilen
-
das Ergebnis sollte zu weiteren Arbeitszwecken ohne Formel auskommen, da ich es an andere Stellen kopieren möchte
-
mein Wunsch ist es in VBA einzusteigen und was darüber zu lernen
Deswegen bitte ich euch um weitere Lösungsvorschläge!
Gruß
Adam
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Eine Tabelle beinhaltet in der ersten Spalte (A)
unterschiedliche Begriffe. Zu jedem Begriff sind in der Spalte
B, C und D Daten abgelegt. Die Begriffe wiederholen sich,
haben aber unterschiedliche zugehörige Daten.
Die wiederholungen sollen aber gelöscht werden und die
dazugehörigen Daten sollen vereint werden. Die gesamte Liste
ist bereits alfabetisch geordnet.
Hi Adam,
Option Explicit
Sub tt()
Dim Zei As Long
Application.ScreenUpdating = False
For Zei = Range("A65536").End(xlUp).Row To 2 Step -1
If Cells(Zei, 1) = Cells(Zei - 1, 1) Then
Cells(Zei - 1, 2) = Cells(Zei - 1, 2) + Cells(Zei, 2)
Cells(Zei - 1, 3) = Cells(Zei - 1, 3) + Cells(Zei, 3)
Cells(Zei - 1, 4) = Cells(Zei - 1, 3) / Cells(Zei - 1, 2)
Cells(Zei, 1).EntireRow.Delete
End If
Next Zei
Application.ScreenUpdating = True
End Sub
Gruß
Reinhard
Hallo Reinhard,
für „Experte in Nichts“ lt. Deiner Vika biste aber erstaunlich schnell mit dem Ergebnis rübergekommen … Deine Formel funktioniert einwandfrei.
Hutziehenderweise
moritzbock
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Tausend Dank für die schnelle Hilfe Reinhard! Das Makro funktioniert einwandfrei.
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]