PDA

Vollständige Version anzeigen : doppelte Einträge finden und untereinander vergleichen


seppco
01.10.2009, 17:34
Hallo,

also der Titel oben ist wahrscheinlich etwas verwirrend, aber ich wußte nicht wie ich es besser beschreiben sollte.

Ich habe eine Tabelle in der in der einen Spalte Nummern stehen und in der nächsten ein Datum. Nun kann es vorkommen, dass eine Nummer zwei- oder dreimal auftaucht. Das Datum ist aber dann jedesmal unterschiedlich. Jetzt möchte ich in der dritten Spalte angezeigt haben (z.B. durch ein "x") welche Nummer die aktuelle ist. D.h. wenn die Nummer nur einmal da ist, dann soll in der dritten Spalte auf jeden Fall ein "x" stehen. Wenn eine Nummer mehrmals da ist, dann soll in der Zeile das "x" eingetragen werden, wo in der zweiten Spalte das aktuellere Datum steht. Ich habe mal eine Beispieldatei angehangen.

Das nächste Problem ist, dass diese Tabelle permanent aktaulisiert wird. Also eine Nummer die gestern aktuell war kann es heute schon nicht mehr sein. Das "x" müsste also weiterwandern, bzw. aus der Vorgängerzeile entfernt werden und wieder in der aktuellsten Zeile eingetragen werden.

Leider sind meine VBA-Kenntnisse derart niedrig, dass ich überhaupt nicht weiß wie ich anfangen soll. Daher ist in der Beispieldatei noch nichts eingetragen.

Ich danke schonmal sehr im Voraus!

seppco

josef e
01.10.2009, 18:57
Hi,

dazu braucht's kein VBA. Bereich als Liste deklarieren und die entsprchende Formel dazu, dann kann das Excel ganz ohne Code.

seppco
02.10.2009, 07:53
Hallo,

ja danke. Eine Frage habe ich zu dem Thema. Die Datei war ja nur ne Beispieldatei. Die eigentliche Datei holt sich per VBA Einträge aus einer anderen Datei. Im Anschluss an diese Prozedur wollte ich das oben beschriebene ablaufen lassen. Wenn ich das jetzt alles zu ner Liste mache, kommt es mir dann mit meinem VBA-Code durcheinander? Die neuen Einträge die aus der anderen Tabelle kommen werden in dieser Exceldatei unten dran gehangen. Erweitert sich die Liste dann automatisch?

Danke!

seppco

josef e
02.10.2009, 21:21
Hi,

dann führe im Anschlus an den Import-Code dieses Makro aus.

<div style="background-color:#FFFFFF; border-width:2px; border-style: groove; border-color:#ff9966; padding:4px;"><nobr><span style="font-family:Courier New,Arial; font-size:9pt ;" ><b><span style="color:#000080"; >Sub</span> aktuellsterEintrag()</b><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#000080"; >Dim</span> strLast <span style="color:#000080"; >As</span> <span style="color:#000080"; >String</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#000080"; >With</span> Sheets(<span style="color:#800000"; >"Tabelle1"</span>) <span style="color:#008000"; >'Tabellenname anpassen!</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strLast = CStr(Application.Max(2, .Cells(Rows.Count, 1).End(xlUp).Row))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.Range(<span style="color:#800000"; >"C2"</span>).FormulaArray = <span style="color:#800000"; >"=IF(B2=MAX(IF($A$2:$A$"</span> & strLast & <span style="color:#800000"; >"=A2,$B$2:$B$"</span> & strLast & <span style="color:#800000"; >")),""x"","""")"</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.Range(<span style="color:#800000"; >"C2:C"</span> & strLast).FillDown<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.Range(<span style="color:#800000"; >"C2:C"</span> & strLast) = .Range(<span style="color:#800000"; >"C2:C"</span> & strLast).Value<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#000080"; >End</span> <span style="color:#000080"; >With</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<br /><b><span style="color:#000080"; >End</span> <span style="color:#000080"; >Sub</span></b><br /></span></nobr></div>

seppco
05.10.2009, 09:26
Hallo,

funktioniert prima!

Vielen Dank!


seppco