Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
944to948
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
944to948
944to948
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Liste auswerten - bereinigen

Liste auswerten - bereinigen
31.01.2008 14:37:03
Petra
Hallo liebe Excelfreunde
Ich muß eine grosse Liste bereinigen nach folgendem Kriterium: die Liste besteht aus Materialnummern und Beträgen(positiv und negativ Beträge). Jetzt sollen alle gleichen Materialnummer saldiert werden, ergibt die Summe Null, dann sollen alle Zeilen derjenigen Materialnummer gelöscht werden.
Wie kann ich die Aufgabe schnellstens lösen, sind ca. 250 Materialnummern und die Gesamtliste umfasst ca. 35.000 Zeilen.
Wer kann mir den entscheidenden Tipp geben? Vielleicht per VBA!
Vielen Dank und liebe Grüße
Petra

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Liste auswerten - bereinigen
31.01.2008 14:41:35
Josef
Hallo Petra,
das geht doch auch per Filter und Formel.
Nimm zuerst den Spezialfilter "ohne Dupplikate" und Filtere die Liste an eine andere Stelle. Guckst Du: Spezialfilter (1) - Duplikate wegfiltern
Dann nimmst du SUMMEWENN() und Filterst das Ergebniss nach "0".

Gruß Sepp



AW: Liste auswerten - bereinigen
31.01.2008 14:46:00
Rudi
Hallo,
mit SUMMEWENN den Saldo ermitteln, nach 0 filtern und die Zeilen löschen.
Gruß
Rudi
Eine Kuh mach muh, viele Kühe machen Mühe.

Anzeige
AW: Liste auswerten - bereinigen
31.01.2008 15:00:00
Petra
Hallo ihr beiden
vielen Dank für Euren Tipp. Nur klappt das Ganze nicht so. Manuelle Aufgaben sind nicht gefragt, da das alles öfter mit den verschiedensten Listen laufen soll (auf Knopfdruck). Die Summewenn klappt auch so nicht ganz, da ich ja ersteinmal ermitteln muss, wieviel verschiedene Materialnummern es sind und dann auch welche. Manuell muüsste ich ja mindestens 200 bis 250 mal die Formel ausführen und dann feststellen, die Summe ergibt Null ( dann alle relevanten Zeilen löschen) oder die Summe ergibt nicht Null. Ich hoffe, ihr erkennt mein Problem!
Nochmals liebe Grüße
Petra

Anzeige
AW: Liste auswerten - bereinigen
31.01.2008 15:16:26
Mag
Hi,
Spalte A ab Zeile 2 stehen Materialnummern, Spalte B ab Zeile 2 Umsätze, Spalte C in Zeile 2 folgende
Formel. Formel kopieren und bis Listenende kopieren. Dann Spalte C nach 0 Filtern (s.o.) und Zeilen löschen.

=SUMMENPRODUKT(($A$2:$A$7=A2)*$B$2:$B$7)


Gruss

AW: Liste auswerten - bereinigen
31.01.2008 15:17:38
Mag
... wobei A7 und B7, also Zeile 7 auf DEIN Listenende anzupassen wäre ...

AW: Liste auswerten - bereinigen
31.01.2008 15:40:00
Petra
Hallo Mag
ich kann nur sagen "Quick und prima"
Danke
und einen schönen Tag noch
Petra

AW: Liste auswerten - bereinigen
31.01.2008 15:18:00
Rudi
Hallo,

Manuell muüsste ich ja mindestens 200 bis 250 mal die Formel ausführen


Unsinn!
Wenn deine MatNr in A und die Beträge in B stehen
In eine Hilfsspalte: =Summewenn(A:A;A2;BB)
Nach 0 filtern, alles markieren und die Zeilen löschen.
Das dauert ca. 15 Sekunden.
Gruß
Rudi
Eine Kuh mach muh, viele Kühe machen Mühe.

Anzeige
AW: Liste auswerten - bereinigen
31.01.2008 15:19:00
Josef
Hallo Petra,
na dann, probier mal. (bezieht sich immer auf das aktive Blatt)
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub FilterMatNr()
Dim a As Variant, b As Variant, c As Variant
Dim lngR As Long, l As Long, n As Long

lngR = Cells(Rows.Count, 1).End(xlUp).Row

a = Range("A1:B" & lngR)

Redim b(1 To lngR)
Redim c(1 To lngR)

For l = 1 To lngR
    If IsNumeric(a(l, 2)) Then
        If Application.SumIf(Range("A1:A" & lngR), a(l, 1), Range("B1:B" & lngR)) > 0 Then
            If Not IsNumeric(Application.Match(a(l, 1), b, 0)) Then
                n = n + 1
                b(n) = a(l, 1)
                c(n) = Application.SumIf(Range("A1:A" & lngR), a(l, 1), Range("B1:B" & lngR))
            End If
        End If
    Else
        n = n + 1
        b(n) = a(l, 1)
        c(n) = a(l, 2)
    End If
Next

Range("A1:B" & lngR).ClearContents

If n > 0 Then
    Range("A1:A" & n) = Application.Transpose(b)
    Range("B1:B" & n) = Application.Transpose(c)
End If

End Sub


Gruß Sepp



Anzeige
AW: Liste auswerten - bereinigen
31.01.2008 15:41:00
Petra
Hallo Sepp
auch Dir vielen Dank, muß es aber noch richtig durchtesten, schaut aber schon ganz gut aus!
Einen schönen Tag noch und liebe Grüße
Petra

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige