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

Auflistung nach bestimmten Kriterien

Auflistung nach bestimmten Kriterien
02.07.2007 14:45:00
Adrian1977
Hallo zusammen,
ich habe einen Bereich mit Daten, der abhängig von bestimmten Parametern unterschiedlich groß ist.
Nun sollen mit Hilfe von VBA alle unvollständigen Datensätze in einer Liste erscheinen mit Auflistung der fehlenden Datenfelder.
a b c d e f
1 wert wert wert wert wert wert
2 #NV wert wert wert wert wert
3 wert #NV wert wert wert wert
4 wert wert #NV #NV wert wert
5 wert wert wert wert wert wert
6 wert wert wert wert wert wert
Lösung
2 a
3 b
4 c d
Danke im Voraus!
Gruß
Adrian

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Auflistung nach bestimmten Kriterien
02.07.2007 15:11:01
haw
Hallo Adrian,
hier mal so auf die Schnelle eine Möglichkeit:

Sub FehlerListen()
Dim Ber As Range, c As Range, z%, s%, Spalte%
Set Ber = Range("Bereich")
Spalte = 5 'Spalte der Zeilenangabe des Ergebnisses
For Each c In Ber
If IsError(c.Value) Then
z = Cells(Rows.Count, Spalte).End(xlUp).Row + 1
If Cells(z - 1, Spalte).Value = c.Row Then z = z - 1
Cells(z, Spalte).Value = c.Row
s = Cells(z, Columns.Count).End(xlToLeft).Column + 1
Cells(z, s).Value = Mid(c.Address, 2, 1)
End If
Next c
End Sub


Zuerst den zu durchsuchenden Bereich den Namen "Bereich" verpassen, dann die Spalte, in der das Ergebnis ausgegeben werden soll angeben. Ich habe hier 5 (=E) im Code eingetragen.
Gruß
Heinz

Anzeige
AW: Auflistung nach bestimmten Kriterien
02.07.2007 15:24:12
Adrian1977
Hallo Heinz,
danke!
Da der Bereich sich ständig ändert, sollte dieser in VBA ermittelt werden.
Das kriege ich nicht so ganz hin, da ich zwar die Spaltenanzahl ermitteln kann, ich brauchte jedoch den dazugehörigen Buchstaben. Oder läßt sich "Range" mit "cells" definieren?
Gruß
Adrian

AW: Auflistung nach bestimmten Kriterien
02.07.2007 15:37:00
haw
Hallo Adrian,
Range("A5:X20") ist dasselbe wie Range(Cells(5, 1), Cells(20, 24))
Gruß
Heinz

AW: Auflistung nach bestimmten Kriterien
02.07.2007 16:03:00
Adrian1977
Hallo Heinz,
nochmals Danke!
Einige Anpassungen habe ich hingekriegt.
Was ich jedoch nicht hinkriege sind die Ausgabewerte.
Ich möchte nämlich nicht die Zeilen und Spaltenüberschriften von excel, sondern das was auf dem excel-Blatt in der ersten Spalte bzw. in der ersten Zeile steht.
Daher müßte diese Zeile noch modifiziert werden:
'Tabelle3.Cells(z, s).Value = Mid(c.Address, 2, 1)
Wie kriegt man das hin?
Gruß
Adrian

Anzeige
AW: Auflistung nach bestimmten Kriterien
02.07.2007 16:39:02
Adrian1977
Hallo,
bei mir sieht das jetzt so aus:

Sub FehlerListen3()
Dim Ber As range, c As range, z As Integer, s As Integer, Spalte As Integer
Set Ber = range("zz")
Spalte = 1 'Spalte der Zeilenangabe des Ergebnisses
For Each c In Ber
If IsError(c.Value) Then
z = Tabelle3.Cells(Rows.Count, Spalte).End(xlUp).Row + 1
If Tabelle3.Cells(z - 1, Spalte).Value = c.Row Then z = z - 1
Tabelle3.Cells(z, Spalte).Value = Cells(c.Row, 1)
s = Tabelle3.Cells(z, Columns.Count).End(xlToLeft).Column + 1
Tabelle3.Cells(z, s) = Cells(3, c.Column)
End If
Next c
End Sub


Problem: Fehlen zwei Datenfelder in einem Datensatz, werden die Datensätze zweimal aufgelistet, mit je einem Eintrag.

Anzeige
AW: Auflistung nach bestimmten Kriterien
03.07.2007 07:13:34
haw
Hallo Adrian,
ich kam gesternm nach Dienst nicht mehr zum PC.
Hier die Korrektur (ungeteestet)

Sub FehlerListen4()
Dim Ber As Range, c As Range, z As Integer, s As Integer, Spalte As Integer
Set Ber = Range("zz")
Spalte = 1 'Spalte der Zeilenangabe des Ergebnisses
For Each c In Ber
If IsError(c.Value) Then
z = Tabelle3.Cells(Rows.Count, Spalte).End(xlUp).Row + 1
If Tabelle3.Cells(z - 1, Spalte).Value = Cells(c.Row, 1).Value Then z = z - 1
Tabelle3.Cells(z, Spalte).Value = Cells(c.Row, 1).value
s = Tabelle3.Cells(z, Columns.Count).End(xlToLeft).Column + 1
Tabelle3.Cells(z, s) = Cells(3, c.Column)
End If
Next c
End Sub


Gruß
Heinz

Anzeige
AW: Auflistung nach bestimmten Kriterien
03.07.2007 10:31:00
Adrian1977
Hallo,
habe es gestern noch geschaft den Code zu modifizieren.
An dem Beispiel habe ich einiges gelernt und ich werde dies sicherlich noch auf andere Problemstellungen übertragen können!
Danke Heinz!
Gruß
Adrian

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige