Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<
Microsoft Office 2003-2019 => Excel => Thema gestartet von: zero82 am Juni 26, 2015, 15:48:44 Nachmittag
-
Hallo,
Ich habe eine Excel Tabelle mit ein paar Tausend Datensätzen. Diese habe ich als Quelltabelle umbenannt. Die Zeilen enthalten neben Kundenummer auch ein Eintrittsdatum und Austrittsdatum. Was ich möchte ist, dass er mir alle Datensätze markiert die folgende Bedingung enthalten:
Alle Datensätze, bei denen die Kundenummer gleich ist, soll er das erste (älteste) Eintrittsdatum + 120 Tage berechnen und mit allen nachfolgenden Zeilen vergleichen. Alle Datensätze die zwischen diesen beiden Datum sind markieren. Ich habe folgenden Code erstellt aber komme da einfach nicht weiter. Kennt einer die Lösung?
Sub Datum()
Dim zeile As Long
Dim ZeileMax As Long
Dim spalte As Long
Dim SpalteMax As Long
Dim MDC As String
Dim AufnDATUM As Date
Dim AufnDATUMMIN As Date
Dim EntlDATUM As Date
Dim i As Integer
With Tabelle2
ZeileMax = .UsedRange.Rows.Count
SpalteMax = .UsedRange.Columns.Count
For zeile = 2 To ZeileMax
For spalte = 1 To SpalteMax
MDC = .Cells(zeile, 11)
AufnDATUM = .Cells(zeile, 3)
EntlDATUM = .Cells(zeile, 4)
'AufnDATUMMIN = .Min.Cells(zeile, 3)
If Application.WorksheetFunction.CountIf(Columns(1), Cells(zeile, 1).Value) > 1 _
And WorksheetFunction.Min(.Cells(zeile, 3)) - AufnDATUM + zeile _
Then
.Cells(zeile, spalte).Interior.ColorIndex = 4
Else: .Cells(zeile, spalte).Interior.ColorIndex = xlColorIndexNone
End If
Next spalte
Next zeile
End With
End Sub
Ich wäre über eine Hilfe sehr zufrieden. Danke
Gruss
zero
-
Ich wäre über eine Hilfe sehr zufrieden. Danke
Gruss
zero
Zero *.xlsm, damit machst du aber keinen potenziellen Helfer zufrieden!
-
Ja hallo,
sorry ich habe gar nicht daran gedacht eine Beispieldatei anzuhängen. Anbei die Beispieldatei.
Gruss
zero
-
Ah ja, ...
hier einmal 3 (Patienten?)-Nummern, wo ich beispielhaft wissen möchte, ob und welche Datensätze hervorgehoben werden. Falls es überhaupt die richtige Logik meinerseits ist ...
-
Hallo Günther,
In diesem Fall 5000145:
Hier sollen beide Fälle markiert werden, da das Eintrittsdatum der beiden Fälle innerhalb der 120 Tage Grenze ist.
Zum Fall 5007048:
Hier sollten nur die ersten beiden Fälle markiert werden, da diese innerhalb 120 Tagen eingewiesen wurden. Der dritte Fall soll nicht markiert werden.
Zum Fall 5008979:
Dieser ist etwas tricky.
5008979 09-Feb-14 17-Feb-14 PA
5008979 04-Mrz-14 11-Mrz-14 PA
5008979 06-Apr-14 25-Apr-14 PA
5008979 02-Mai-14 10-Mai-14 PA
5008979 08-Jul-14 11-Aug-14 PA
5008979 25-Nov-14 28-Nov-14 PA
5008979 28-Nov-14 03-Dez-14 PA
Hier sollen die Fälle von 09-Feb-14 bis 02-Mai-14 markiert werden. Da diese innerhalb 120 Tagen eingewiesen wurden. Aber ab 08-Juli-14 beginnt eine neue Phase, d.h. dass er ab dem 08.Juli 14 wieder ein Anfangsdatum hat und erneut 120 Tage hinzugerechnet werden müssen. Wenn bpsw. dieser Patient im August 2014 wieder eingewiesen würde wären 08-Juli 14 und August 14 wieder zu markieren. Aber in diesem Fall würden nur die Fälle 25-Nov-14 und 28-Nov-14 markiert werden müssen.
Es hört sich bisschen kompliziert an aber ich bin hier mit meinem Wissen am Ende und hoffe eine Lösung für das Problem finden zu können.
Gruss
zero
-
OK,
jetzt habe ich es (so glaube ich) begriffen. Aber über die "Sonderfälle" muss ich doch noch die eine oder andere "Minute" nachdenken ...
-
Hallo Günther,
Du kannst gerne immer fragen wenn was unklar sein sollte.
Gruß
Zero
-
Hola,
scheinbar gehts jetzt hier weiter.....
http://www.office-loesung.de/p/viewtopic.php?f=166&t=695125 (http://www.office-loesung.de/p/viewtopic.php?f=166&t=695125)
Gruß,
steve1da
-
Hallo steve1da,
ich weiss nicht ob du es wusstest aber in diesem Forum sind Crosspostings ausdrücklich erwünscht. Aber trotzdem danke dass du dich an der Problemlösungsfindung beteiligst. :(
Gruss
zero
-
Hola,
richtig. Allerdings hast du nicht auf das andere Forum verwiesen.
Gruß,
steve1da