2.9k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo erst ein mal !
Habe da ein Problem, ich habe eine tabelle in der ich die doppelten werte löschen möchte,aber vorher soll er mir die werte aus einer anderen spalte zusammen zählen
und dan den rest löschenn .
werte in Spalte A bis L
suchen in spalte F
Adieren in Spalte J

Löschen der doppelten spalten A bis L zeile 7 bis 3000

Danke schon mal für eure hilfe

gruß nero022

7 Antworten

0 Punkte
Beantwortet von saarbauer Profi (15.6k Punkte)
Hallo,

hier ist entweder ein Makro erforderlich oder etwas Handarbeit, da mit dem Löschen die Datengrundlage verloren geht.

Da deine Angaben etwas verwirrend sind, ein paar Verständnisfragen.
Die doppelten Werte stehen in Spalte F.
die zu adierenden Werte in den Spalten A:L
Im Spalte J wäre in J1 nach meinem Verständnis einzutragen

=WENN(ZÄHLENWENN($F$1:F1;F1)=1;SUMMENPRODUKT(($F$1:$F$23=F1)*$A$1:$E$23);"")

dabei bleiben die doppelten Spalten leer. Zum Löschen wäre die Spalte J zu kopieren und mit "Inhalte einfügen" "Werte" zu kopieren und anschliessend wären die Zeilen mit einer leeren Spalte J zu löschen.

Ich bin mir aber nicht sicher ob das Ganze von dir so gemeint ist.

Gruß

Helmut
0 Punkte
Beantwortet von
Hallo Saarbauer !!!

ich glaube ich habe es nicht richtig erklärt... mein fehler.. !!

also meine tabele sieht ungefähr so aus...

A B C D E F G h i J K L
1

2

3


die werte werden von zeile 1 spalte A bis L eingegeben oder übergeben,es kann vorkommen das in Zeile1 spalte A bis I die gleichen werte stehen wie in Zeile 2 Spalte A bis I oder 3 .....

nun möchte ich aber nur eine Zeile mit den werten von A bis L haben der unterschied liegt nur darin das in Spalte J die Stückzahlen stehen und die müßten vorher zusammen gerechnett werden... !!!

Hoffe es ist jetzt verständlicher !!

Danke schon mal für eure hilfe !!
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi all ^^

fuer freunde von makros :-)

gruss nighty

Option Explicit
Sub Einfuegen()
Dim SpalteA() As Variant, SpalteAneu() As Variant
Dim ArrIndex0 As Long, ArrIndex1 As Long, SpA1zeilen As Long, SpA2zeilen As Long
Columns("A:A").AdvancedFilter Action:=xlFilterInPlace, Unique:=True
SpA1zeilen = Cells(Rows.Count, 1).End(xlUp).Row
SpalteA() = Range("A1:L" & SpA1zeilen)
Range("A1:L" & SpA1zeilen) = ""
Columns("A:A").AdvancedFilter Action:=xlFilterInPlace, Unique:=False
SpA2zeilen = Cells(Rows.Count, 1).End(xlUp).Row
SpalteAneu() = Range("A1:L" & SpA2zeilen)
For ArrIndex0 = 1 To SpA1zeilen
For ArrIndex1 = 1 To SpA2zeilen
If SpalteA(ArrIndex0, 1) = SpalteAneu(ArrIndex1, 1) And SpalteA(ArrIndex0, 1) <> "" And SpalteAneu(ArrIndex1, 1) <> "" Then
SpalteA(ArrIndex0, 10) = SpalteA(ArrIndex0, 10) + SpalteAneu(ArrIndex1, 10)
End If
Next ArrIndex1
Next ArrIndex0
Range("A1:L" & SpA1zeilen & SpA2zeilen) = ""
Range("A1:L" & SpA1zeilen) = SpalteA()
End Sub
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi all ^^

wobei der filter mal eine nette spielerei war und vielleicht ohne ein wenig schneller waere,da muesste man mal zeitmessungen mit entsprechenden datenmengen durchfuehren,vielleicht eine aufgabe fuer interessierte :-))

gruss nighty
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi all ^^

vorletzte zeile korrigiert

Range("A1:L" & SpA1zeilen + SpA2zeilen) = ""


am ende bei

End Sub

fehlt das b

der fehler des supportnet und das seit geraumer zeit :-))

bei selectierung der code option reproduzierbar

gruss nighty
0 Punkte
Beantwortet von
Hallo danke für eure hilfe !!!!
aber irgend wie klaptt das nicht mit den macro so !!!

vieleicht habe ich es ja auch nicht richtig erklärt...?


oder hat noch jemand eine idee...
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi all ^^

sehr aussagekräftig deine antwort,die strotzt ja nur so vor fakten :-))

das macro stellt die daten ohne dubletten dar ,wobei spalte 10 bei dubletten addiert wird

verbundene zellen wie geschuetzte bereiche sollten beachtet werden

gruss nighty
...