Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
724to728
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
724to728
724to728
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Filter

Filter
30.01.2006 14:11:20
Christian
Hallo,
ich habe eine Tabelle der Form:
Rechnungsnummer Wert
1 5
1
1
2 1
2
3
3
4 3
4
4
5
6 8
Aus dieser Tabelle brauche ich alle Rechnungsnummern mit einem Wert sowie die selben Rechnungsnummern ohne Wert. Das Ergebnis sollte also wie folgt aussehen:
Rechnungsnummer Wert
1 5
1
1
2 1
2
4 3
4
4
6 8
Kann mir jemand einen Tipp geben?
Vielen Dank im Voraus!!
Christian

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Filter
30.01.2006 15:14:40
et999
Hi Christian,
es sieht in Deinem Beispiel so aus, als ob Rechnungsnummern ohne Wert nur einmal vorkommen. Dann würde diese Formel helfen:
=WENN(UND(ZÄHLENWENN(A:A;A1)=1;B1="");"";A1)
(in C1 eintragen und 'runterziehen wenn Deine Daten in A und B stehen.
Dann bleiben die Felder mit Rechnungsnummern ohne Wert leer und Du kanns filtern.)
Hilf Dir das?
Gruß
Uwe
(:o)
AW: Filter
30.01.2006 16:51:23
Christian
Hallo Uwe,
danke für deine schnelle Antwort!! Leider habe ich aber auch Rechnungsnummern ohne Wert die mehr als ein mal vorkommen...
Gruß Christian
AW: Filter
31.01.2006 14:10:11
et999
Hi Christian,
dann kriege ich es ohne VBA nicht hin.
Also: Ich gehe davon aus, dass die Rechnungsnummern in Spalte A stehen. In Spalte B sind die Werte. Als erstes musst Du (nachdem Du vielleicht vorher eine Sicherungskopie Deiner Datei gemacht hast) ein Hilfspalte einfügen: C. C muss also leer sein.
Jetzt fügst Du ein Allgemeines VBA Modul ein(Alt & F11; Einfügen/ Modul) und kopierst das hier hinein:


For L = 2 To Range("A65536").End(xlUp).Row   'evtl. Spalte(A) und Startzeile (2) anpassen
   StartReihe = L
         Do While Cells(L, 1) = Cells(L + 1, 1) Or Cells(L, 1) = Cells(L - 1) _
                           Or Cells(L, 2) <> ""
            If Cells(L, 2) <> "" Then Mit = True
            If Cells(L, 1) <> Cells(L + 1, 1) And Cells(L, 1) <> Cells(L - 1) _
                           And Cells(L, 2) <> "" Then Exit Do
             L = L + 1
         Loop
   EndReihe = L
      If Mit = False Then Range(Cells(StartReihe, 3), Cells(EndReihe, 3)) = "###"
      Mit = False
Next L
   For L = 2 To Range("A65536").End(xlUp).Row
      If Cells(L, 2) <> "" Then Cells(L, 3) = ""
   Next L
End Sub


Jetzt führst Du das Makro von Deiner Datei aus aus.
Wenn ich alles richtig gemacht habe, sollte jetzt in Spalte C in den Zeilen die zu löschen sind ein ### stehen.
Check das mal durch. Wenn es ok ist, fügst Du in das gleiche Modul noch dieses Makro ein:


Sub Löschen()
Dim L As Long
For L = 2 To Range("A65536").End(xlUp).Row
   If Cells(L, 3).Value = "###" Then
      Cells(L, 3).EntireRow.Delete
      L = L - 1
   End If
Next
End Sub


Jetzt auch dieses Makro ausführen. Damit werden alle markierten Zeilen gelöscht.
Ich weiß nicht wie gut Du Dich mit Makros auskennst, deshalb entschuldige evtl. die zu ausführliche Erklärung.
Falls es Probleme gibt (aber auch wenn alles klappt) melde Dich nochmal.
Gruß
Uwe
(:o)
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige