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

Plausibilitätsprüfung vorgegebener Zellinhalte

Plausibilitätsprüfung vorgegebener Zellinhalte
30.06.2004 09:55:34
Stefan
Guten Morgen liebe Leute.
Ich hoffe ich finde hier eine Lösung für mein Problemchen (mehr ist es in den Augen eines Spezis wahrscheinlich nicht). Für mich wird das Formulieren des Problems schon schwierig :/
Folgendes:
Ich habe ein Tabellenblatt mit einigen hundert Zeilen. Die Zellen der Spalten E und F weisen Inhalte auf, die sich in der jeweiligen Spalte wiederholen können.
Bsp.:
....E........F.......
1...abc.....100......
2...abc.....100......
3...bca......96......
4...cab......94......
5...bca......96......
6...abc.....100......
7...cab......94......
Es ist also jedem Wert von E ein bestimmter Wert von F zugeordnet.
Ich möchte jetzt herausfinden, ob es eine Zeile gibt, in der die Zurodnung nicht korrekt ist. Also abc....94 (falsch). es soll so eine Art Plausiprüfung sein.
Wenn E4 z.B. nicht den erforderlichen Wert in F4 aufweist, soll die gesamte Zeile kopiert und am Ende des Tabellenblattes der Übersichtlichkeit wegen eingefügt werden. Alle anderen falschen Zeilen dann darunter. Zusätzlich soll ein Warnhinweis angezeigt werden, dass es falsche Zuordnungen gibt.
Es müssen auch andere Spalten (B und F; J und F) miteinander noch verglichen werden und falsche Zuordnungen ebenfalls aufgelistet werden.
Es wäre sehr hilfreich, wenn für jeden "Vergleichsschritt" (erst E und F, dann B und F, dann J und F,...) bei der Ausgabe der Zeilen mit falschen Zuordnungen eine eigene Überschrift erstellt werden könnte (z.B. Falsche Werte von E und F). Super wäre noch eine Ausgabe dieser falschen Werte in einem neuen Tabellenblatt.
So, ist ja doch ziemlich lang geworden. Ich hoffe, es kann hier einer so viel Zeit erübrigen, um sich mit meinem Problem zu befassen.
Vielen Dank schon mal im Voraus und eine Rückmeldung ist garantiert :)
Gruß Stefan

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

Betreff
Datum
Anwender
Anzeige
AW: Plausibilitätsprüfung vorgegebener Zellinhalte
Udo
Die Aufgabenstellung ist genauso unklar wie gestern.
Versuchs mal anders zu formulieren.
Udo
AW: Plausibilitätsprüfung vorgegebener Zellinhalte
30.06.2004 11:28:30
Stefan
OK, ich versuchs nochmal.
Tabelle1
 ABCDE
1PersonalnummerTarifAbsenkung TextAbsenkung %Tarifgruppe
21BATohne Absenkung942a
32BAT-OAbsenkung963
43BATohne Absenkung964b
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
So sieht z.B. die Tabelle aus.
Jeder Tarifgruppe ist ein bestimmter Absenkungsprozenzsatz zugewiesen (Tarifgruppe 1 bis 2b =94%; 3 bis 5c = 96%; usw.). In meiner Datenbank kann es aber durch Unachtsamkeit durchaus mal zu falschen Zuordnungen kommen. Z.B. 3 = 98%. Ich möchte die Zeilen herausfinden, in denen diese Zuordnung also falsch ist und diese Zeilen mit einer entsprechenden Überschrift (z.B. Falsche Zuordnung Tarifgruppe-Absenkung %) in einem neuen Tabellenblatt anzeigen lassen. Also: wenn Tarifgruppe gleich 3 und % UNgleich 96% dann falsch und dann Eintrag in neues Tabellenblatt.
Mit Überschrift deshalb, da noch weitere Zuordnungen überprüft werden sollen.
Z.B.
Tabelle1
 ABCDEF
1PersonalnummerTarifAbsenkung TextAbsenkung %TarifgruppeATZ
21BATohne Absenkung1002aja
32BAT-OAbsenkung1003ja
43BATohne Absenkung964bnein
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Hier also: wenn ATZ gleich ja und % ist UNGLEICH 100%, dann falsch und Eintrag in neues Tabellenblatt mit entsprechender Überschrift (ATZ und % z.B.).
Ich hoffe, ich konnte es deutlicher machen, was mein Problem ist. Bitte um Hilfe.
Gruß
Stefan
Anzeige
AW: Plausibilitätsprüfung vorgegebener Zellinhalte
Udo
Das ist viel besser, aber für mich zu komplex.
Udo
AW: Plausibilitätsprüfung vorgegebener Zellinhalte
30.06.2004 22:55:42
Josef
Hallo Stefan!
Das geht aber auch mit bedingter Formatierung.
Das hat auch den Vorteil, das man gleich bei der
Eingabe sieht, wenn etwas falsch ist!
Tabelle1
 ABCDEF
1PersonalnummerTarifAbsenkung TextAbsenkung %TarifgruppeATZ
21BATohne Absenkung1002aja
32BAT-OAbsenkung983ja
43BATohne Absenkung964bnein
5 
Bedingte Formatierungen der Tabelle
ZelleNr.: / BedingungFormat
A21. / Formel ist =UND($F2="ja";$D2<>100)Abc
B21. / Formel ist =UND($F2="ja";$D2<>100)Abc
C21. / Formel ist =UND($F2="ja";$D2<>100)Abc
D21. / Formel ist =UND($F2="ja";$D2<>100)Abc
E21. / Formel ist =UND($F2="ja";$D2<>100)Abc
F21. / Formel ist =UND($F2="ja";$D2<>100)Abc
A31. / Formel ist =UND($F3="ja";$D3<>100)Abc
B31. / Formel ist =UND($F3="ja";$D3<>100)Abc
C31. / Formel ist =UND($F3="ja";$D3<>100)Abc
D31. / Formel ist =UND($F3="ja";$D3<>100)Abc
E31. / Formel ist =UND($F3="ja";$D3<>100)Abc
F31. / Formel ist =UND($F3="ja";$D3<>100)Abc
A41. / Formel ist =UND($F4="ja";$D4<>100)Abc
B41. / Formel ist =UND($F4="ja";$D4<>100)Abc
C41. / Formel ist =UND($F4="ja";$D4<>100)Abc
D41. / Formel ist =UND($F4="ja";$D4<>100)Abc
E41. / Formel ist =UND($F4="ja";$D4<>100)Abc
F41. / Formel ist =UND($F4="ja";$D4<>100)Abc
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Gruß Sepp
Anzeige
AW: Plausibilitätsprüfung vorgegebener Zellinhalte
01.07.2004 09:21:37
Stefan
Hallo Sepp.
Erst einmal ein Danke für die Antwort.
Das mit der bedingten Formatierung wäre eine super Lösung, wenn ich die Daten in Excel per Hand eingeben würde. Ich ziehe die Daten aber aus einem Gehaltsabrechungsprogramm als csv heraus und möchte im Nachhinein überprüfen, ob sich Fehler eingeschlichen haben. Diese Fehlerprüfung soll monatlich erfolgen, da wir eine hohe Fluktuation haben. Es handelt sich ca. 2500 Zeilen die überprüft werden sollen.
Nichtsdestotrotz habe ich mir deine Formel für die bedingte Formatierung ausgedruckt, da ich bereits eine andere Verwendungsmöglichkeit gefunden habe. Cool. Danke.
Stefan
Anzeige
AW: Plausibilitätsprüfung vorgegebener Zellinhalte
01.07.2004 23:08:54
Josef
Hallo Stefan!
Dann versuch mal diesen Code.
Den Code in ein allgemeines Modul deiner Mappe kopieren!
Option Explicit

Sub Check_Data()
'von J.Ehrensberger 01/07/2004
Dim wks As Worksheet
Dim wksCheck As Worksheet
Dim rng As Range
Dim sFirst As String
Dim intC As Integer
Dim iCol As Integer
Dim lRow As Long
Dim arrCol As Variant
Dim arrStr As Variant
Dim arrVal As Variant
arrCol = Array("B", "E", "J") 'Die Spalten die Geprüft werden sollen
arrStr = Array("ja", "ja", "ja") 'Suchbegriffe in den Spalten
arrVal = Array(100, 100, 100) 'Vergleichswerte Spalte F
With Application
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
Set wks = Sheets("Tabelle1") 'Name der Datei mit den Daten! - anpassen
'### Wenn Tabellenblatt bereits existiert, dann löschen
On Error Resume Next
Application.DisplayAlerts = False
Sheets("Check_" & Format(Date, "mm/dd/yy")).Delete
Application.DisplayAlerts = True
On Error GoTo 0
'### Tabellenblatt "Check_XX:XX:XX" erstellen
Set wksCheck = Sheets.Add(after:=Sheets(Sheets.Count))
With wksCheck
.Name = "Check_" & Format(Date, "mm/dd/yy")
.[A1] = "Vergleich B - F"
.[A2] = "Spalte B"
.[B2] = "Spalte F"
.[C2] = "Zeile"
.[E1] = "Vergleich E - F"
.[E2] = "Spalte E"
.[F2] = "Spalte F"
.[G2] = "Zeile"
.[I1] = "Vergleich J - F"
.[I2] = "Spalte J"
.[J2] = "Spalte F"
.[K2] = "Zeile"
.[A1:K2].Font.Bold = True
.[A3].Activate
ActiveWindow.FreezePanes = True
End With
'### Code im Tabellenblatt "Check_XX:XX:XX" erstellen
'### Damit kann mit einem Doppelklick in eine Spalte mit der
'### Bezeichnung "Zeile" in das Datenblatt gewechset werden!
'### Die Entsprechende Zelle wird ausgewählt!
With ThisWorkbook.VBProject.VBComponents(wksCheck.CodeName).CodeModule
.InsertLines 2, "Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)"
.InsertLines 3, "With Target"
.InsertLines 4, "If .Column = 3 Or .Column = 7 Or .Column = 11 Then"
.InsertLines 5, "Cancel = True"
.InsertLines 6, "Application.Goto Sheets(""Tabelle1"").Cells(.Value, 6), False"
.InsertLines 7, "End If"
.InsertLines 8, "End With"
.InsertLines 9, "End Sub"
End With
'###
For intC = 0 To 2
iCol = Choose(intC + 1, 1, 5, 9)
lRow = 3
Set rng = wks.Columns(arrCol(intC)).Find(What:=arrStr(intC), _
after:=wks.Cells(65536, Columns(arrCol(intC)).Column))
If Not rng Is Nothing Then
sFirst = rng.Address
If wks.Cells(rng.Row, 6) <> arrVal(intC) Then
wksCheck.Cells(lRow, iCol) = rng
wksCheck.Cells(lRow, iCol + 1) = wks.Cells(rng.Row, 6)
wksCheck.Cells(lRow, iCol + 2) = rng.Row
lRow = lRow + 1
End If
Do
Set rng = wks.Columns(arrCol(intC)).FindNext(after:=rng)
If Not rng Is Nothing Then
If rng.Address = sFirst Then Exit Do
If wks.Cells(rng.Row, 6) <> arrVal(intC) Then
wksCheck.Cells(lRow, iCol) = rng
wksCheck.Cells(lRow, iCol + 1) = wks.Cells(rng.Row, 6)
wksCheck.Cells(lRow, iCol + 2) = rng.Row
lRow = lRow + 1
End If
End If
Loop
End If
Next
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With
End Sub

Gruß Sepp
Anzeige
AW: Plausibilitätsprüfung vorgegebener Zellinhalte
02.07.2004 12:39:10
Stefan
Hallo Sepp!
Wow. Vielen herzlichen Dank für Deine Mühe.
Es tritt jedoch direkt nach dem Erstellen des neuen Blattes eine Fehlermeldung auf.
Ich habe deinen Code auf meine Spalten angepasst.
Am Besten, ich zeige nochmals alles mit diesem fabelhaften Jeanie Code an.
Also, hier meine Originaldatei mal zur besseren Übersicht:
Tabelle1
 ABCDEFGHIJKL
1ZeitschriftpersonalnummerNachnameBetriebsstätteTarifTarifgruppeTeilzeit-Stunden je WocheTeilzeit-ProzentsatzRegelarbeitszeit WocheAbrechnungstextEntlohnungsgruppeABM Beschäftigung
2110000gdfgdfOKZ1BAT-B02alk 37,5 Verdienstabrechnung Altersteilzeitohne Absenkung nach A-TV HU100
3210001dfgfdgdOKZ2BAT-B04b 50 Verdienstabrechnung Altersteilzeitohne Absenkung nach A-TV HU100
4310002fdgdfgdOKZ3BAT-B05c 50 Verdienstabrechnung Altersteilzeitohne Absenkung nach A-TV HU100
5410003ergfagOKZ4BAT-B05bmd 50 Verdienstabrechnung Altersteilzeitohne Absenkung nach A-TV HU100
6510004afdgreOKZ5BAT-B04b 50 Verdienstabrechnung Altersteilzeitohne Absenkung nach A-TV HU100
7610005hfghfhOKZ6BAT-B05b 50 Verdienstabrechnung Altersteilzeitohne Absenkung nach A-TV HU100
8710006htrszrtzOKZ7BAT-B05bmd 50 Verdienstabrechnung Altersteilzeitohne Absenkung nach A-TV HU100
9810007rtzsatreOKZ8BAT-B02alk 50 Verdienstabrechnung Altersteilzeitohne Absenkung nach A-TV HU100
10910008fgrrgagOKZ9BAT-B02a 50 Verdienstabrechnung Altersteilzeitohne Absenkung nach A-TV HU100
111010009aerthrtOKZ10BAT-B05bmd 30 Verdienstabrechnung Altersteilzeitohne Absenkung nach A-TV HU100
121110010rtrtrtrthfOKZ11BAT-B05bmd 50 Verdienstabrechnung Altersteilzeitohne Absenkung nach A-TV HU100
131210011gfhtrwhOKZ12BMT-B2a 50 Lohnabrechnung Altersteilzeitohne Absenkung nach A-TV HU100
141310012fghrtwhwtrOKZ13BAT-B05c 50 Verdienstabrechnung Altersteilzeitohne Absenkung nach A-TV HU100
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Ich habe hier nur als Beispiel Altersteilzeitfälle herausgesucht. Es müssen hier die Spalten J und L und F miteinander verglichen werden.
Wenn Spalte J gleich "Verdienstabrechnung Altersteilzeit" oder "Lohnabrechnung Altersteilzeit" UND Spalte K gleich "ohne Absenkung nach A-TV HU" oder "kein A-TV HU" oder "Ausnahmefall, keine Absenkung A-TV", dann Spalte L gleich "100". Im Beispielfall trifft das überall zu. Wenn nicht, dann Ausgabe in neues Tabellenblatt.
Wenn Spalte J gleich "Verdienstabrechnung Altersteilzeit" oder "Lohnabrechnung Altersteilzeit" UND Spalte K gleich "ATZ nach 04.2004, Absenkung nach A-TV" oder "Absenkung nach A-TV HU" UND Spalte F gleich 1* bis 2* dann Spalte L gleich "94".
Wenn Spalte J gleich "Verdienstabrechnung Altersteilzeit" oder "Lohnabrechnung Altersteilzeit" UND Spalte K gleich "ATZ nach 04.2004, Absenkung nach A-TV" oder "Absenkung nach A-TV HU" UND Spalte F gleich 3* bis 5* dann Spalte L gleich "96".
Wenn Spalte J gleich "Verdienstabrechnung Altersteilzeit" oder "Lohnabrechnung Altersteilzeit" UND Spalte K gleich "ATZ nach 04.2004, Absenkung nach A-TV" oder "Absenkung nach A-TV HU" UND Spalte F gleich 6* bis 10* dann Spalte L gleich "98".
Wer denkt sich bitte sowas aus? Und hier gehts nur um Altersteilzeitfälle.
Naja, hoffe du kannst mir nochmals helfen.
Eine Beispieldatei versuche ich hochzuladen. https://www.herber.de/bbs/user/7993.xls
Nochmals herzlichesten Dank schonmal für die bisherige Hilfe.
Gruß
Stefan
Anzeige
Auftragsprogrammierung!
02.07.2004 22:21:57
Josef
Hallo Stefan!
Sorry, aber das ist mir zu aufwändig, um das nur so nebenbei zu Programmieren!
Dein Chef sollte einmal über eine Auftragsprogrammierung nachdenken,
und das Projekt vergeben.
Das Forum hier ist nicht dazu da, um für Firmen Professionelle Komplett-
lösungen anzubieten, sondern wir versuchen hier dem interessierten User
Hilfestellung anzubieten.
Gruß Sepp
AW: Auftragsprogrammierung!
Stefan
Jo, sehe ich ich ein.
Danke trotzdem.
Gruß
Stefan

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige