Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1776to1780
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
Inhaltsverzeichnis

Nächstes Datum in der Zukunft, mehrere K

Nächstes Datum in der Zukunft, mehrere K
14.08.2020 22:36:42
Curly
Guten Abend zusammen,
ich benötige wieder mal euer Experten wissen.
Ich möchte aus einer großen Liste mit verschiedenen Kundennummern, das nächste Datum (in der Zukunft) der jeweilen Kundennummer herausfinden.
Das ganze sollte per VBA funktionieren,sodass ich das gefundene Datum in eine neue Datei schreib kann.
Eine kleine Beispieldatei zur Veranschaulichung hab ich erstellt.
https://www.herber.de/bbs/user/139646.xlsx
Vielen Dank
Schönen Abend Curly

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nächstes Datum in der Zukunft, mehrere K
15.08.2020 07:18:19
Beverly
Hallo Curly,

Tabelle1
 J
231.10.2020
3 
4 
5 
6 
7 
831.12.2020
9 
10 
11 
12 
13 

verwendete Formeln
Zelle Formel Bereich N/A
J2:J13=WENN(ZÄHLENWENN($B$2:$B2;B2)=1;MIN(WENN(UND($A$2:$A$13=A2;$I$2:$I$13>=HEUTE());I2:I13));"")  

Zahlenformate
Zelle Format Inhalt
J2 'TT.MM.JJJJ  44135
J3:J7, J9:J13 'TT.MM.JJJJ 
J8 'TT.MM.JJJJ  44196
Zellen mit Format Standard werden nicht dargestellt



Anzeige
AW: Nächstes Datum in der Zukunft, mehrere K
15.08.2020 11:11:37
Curly
Hallo Hajo,
Vielen Dank für deine Formel, leider ging aus meinem Beispiel nicht hervor , das die Daten und Kundennummern in der richtigen Datei nicht sortiert sind.
Der Kundenname ist leider auch nicht verlässlich da mehrere Leute mit der Datei arbeiten und nicht jeder den Namen gleich einträgt
Gruß Curly
AW: klassischer Fall einer Pivotauswertung ...
15.08.2020 07:20:18
neopa
Hallo Curly,
... in der Du die Kundennummer in die Zeilenbeschriftung und das Endedatum in die Werte schiebst und letztere als Minimum zusammenfasst.
Das kannst Du so auch in VBA realisieren.
Gruß Werner
.. , - ...
AW: klassischer Fall einer Pivotauswertung ...
15.08.2020 10:51:05
Curly
Hallo Werner,
wenn ich die Pivot so aufbaue , mit der Kundennummer und das Min(Datum) dann werden mir aber auch alle in der Vergangenheit angezeigt, aber ich benötige das kleinste Datum der Zukunft.
Gruß Curly
Anzeige
AW: auch das ist mit Pivotauswertung möglich ...
16.08.2020 19:21:14
neopa
Hallo Curly,
... dazu bedarf es lediglich einer kleinen Hilfsspaltenformel. Wenn Du das Vergleichsdatum, vorgegeben war von Dir ja =HEUTE(), dazu noch in Hilfszelle setzt, bist Du in der Auswertung sehr schnell und auch sehr flexibel, weil Du nur durch das Ändern des Datumswertes in der Hilfszelle auch andere Vergleichsauswertungen vornehmen kannst (die Überschrift der Hilfszelle in den Berichtsfilter schieben) und zudem die Flexibilität der Pivotfilterung zusätzlich zur Verfügung hast.
In der Beispieldatei hab ich den Vergleichsdatumswert in K1 und in K2: folgende Formel:
=WENN(I2&gtL$1;"x";"") weit genug nach unten kopiert und in der Pivotauswertung zusätzlich den Filter im Berichtsfilter nur für "x" gesetzt.
Gruß Werner
.. , - ...
Anzeige
AW: Nächstes Datum in der Zukunft, mehrere K
15.08.2020 11:29:58
Günther
Moin,
"Das ganze sollte per VBA funktionieren,sodass ich das gefundene Datum in eine neue Datei schreib kann."
Das ist falsch. Mit deiner Version geht das prima ohne VBA! => Power Query
 
Gruß
Günther  |  mein Excel-Blog
AW: Hier mein Versuch das Prob zu lösen
15.08.2020 11:50:46
Curly
Hallo,
ich konnte mir einen Code erstellen, der zumindest das gewünscht macht, eventuell hat noch jemand verbesserungsvorschläge und evtl auch Performance Optimierung.
Sub SV()
With Application
.ScreenUpdating = False
.EnableEvents = False
.DisplayAlerts = False
End With
Dim i, x, intLastRowTab1, intLastRowSV, AnzSV As Integer
Dim NDL As String
NDL = Mid(ThisWorkbook.Name, 10, 3)
intLastRowTab1 = Sheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row
intLastRowSV = Sheets(NDL & "_SV").Cells(Rows.Count, 1).End(xlUp).Row
For i = 4 To intLastRowTab1
AnzSV = WorksheetFunction.CountIfs(Range(NDL & "_SV!A:A"), Sheets("Tabelle1").Cells(i, 1).Value, _
Range(NDL & "_SV!H:H"), "=" & CDbl(Date)) '"=COUNTIFS(C,""C0527988"",C[7],""""&TODAY())"
If AnzSV > 0 Then
Sheets("Tabelle1").Cells(i, 8).Value = "Ja (" & AnzSV & ")"
For x = 4 To intLastRowSV
If Sheets("Tabelle1").Cells(i, 1).Value = Sheets(NDL & "_SV").Cells(x, 1) Then
If (Sheets(NDL & "_SV").Cells(x, 9).Value > CDbl(Date)) And (Sheets("Tabelle1").Cells(i, _
9).Value = "" Or Sheets("Tabelle1").Cells(i, 9).Value > Sheets(NDL & "_SV").Cells(x, 9).Value) Then
Sheets("Tabelle1").Cells(i, 9).Value = Sheets(NDL & "_SV").Cells(x, 9).Value
End If
End If
Next x
Else
Sheets("Tabelle1").Cells(i, 8).Value = "Nein"
End If
Next i
With Application
.ScreenUpdating = True
.EnableEvents = True
.DisplayAlerts = True
End With
End Sub
Gruß Curly
Anzeige
AW: Hier mein Versuch das Prob zu lösen
15.08.2020 14:00:11
Sigi
Hallo Curly,
evtl. mit einer VBA-Fkt.? Allerdings muss die KdeNr schon von allen Usern korrekt geschrieben werden! Wie sollte Excel das sonst feststellen? (s. Mappe)
Sigi
https://www.herber.de/bbs/user/139648.xlsm
AW: Hier mein Versuch das Prob zu lösen
15.08.2020 14:05:13
Curly
Hallo sigi,
Die Kundennummer ist immer gleich, da diese immer mit „C“ anfängt und dann 7 zahlen folgen ,
Da gibt es kein Spielraum, wie bei einem Namen!
Die Funktion schau ich mir später an und melde mich nochmal!
Danke
Curly
AW: Hier mein Versuch das Prob zu lösen
15.08.2020 15:08:16
Curly
Hallo Sigi,
Vielen Dank für deine Funktion, allerdings dauert diese im Vergleich zum Makro länger, und leider werden auch Datums in der Vergangenheit angezeigt und ich benötige nur das nächste Datum in der Zukunft.
Gruß Curly
Anzeige
AW: Hier mein Versuch das Prob zu lösen
15.08.2020 15:29:54
Günther
Moin,
[Zitat]und leider werden auch Datums in der Vergangenheit angezeigt und ich benötige nur das nächste Datum in der Zukunft.[/Zitat]
Tja, und in der recht einfalls"reichen" Muster-xlsx gibt es davon ja gleich ei halbes Dutzend von der Kundennummer X002…
Erst einmal mein Respekt, dass du selber einen laufenden VBA-Code erstellt hast.
Und ja, wahrscheinlich geht es mit Power Query einiges schneller, nur musst du dich da entweder einarbeiten oder ein "Opfer" finden, das deine Arbeit zum Nulltarif erledigt. (Ich werde in Foren nur dann umfangreicher tätig, wenn sich ein TE von Anfang an so viel Mühe gegeben hat, wie meine Kunden {die zahlen nämlich, wenn ich oft nachfragen muss}.)
 
Gruß
Günther  |  mein Excel-Blog
Anzeige
AW: Hier mein Versuch das Prob zu lösen
15.08.2020 15:34:46
Curly
Hallo Günther,
Danke für deine Infos zu power query,
Nur wie du schon selber festgestellt hast, möchte ich es per vba lösen.
Danke Gruß Curly
AW: Hier mein Versuch das Prob zu lösen
15.08.2020 15:30:24
Curly
Hallo sigi,
Die Kundennummer ist immer gleich, da diese immer mit „C“ anfängt und dann 7 zahlen folgen ,
Da gibt es kein Spielraum, wie bei einem Namen!
Die Funktion schau ich mir später an und melde mich nochmal!
Danke
Curly
Das lässt sich recht angenehm...
16.08.2020 12:11:25
Case
Hallo, :-)
... per VBA lösen. Der Vorteil gegenüber Power Query besteht in meinen Augen darin, dass du nicht das NET-Framework "mitschleppen" - sprich laden - musst. ;-)
Es ließe sich z. B. per VBA über Spezialfilter, Array und Evaluate lösen.
Brauchst du da ein Beispiel, oder reichen dir die Stichworte?
Servus
Case

Anzeige
AW: Das lässt sich recht angenehm...
16.08.2020 12:16:02
Curly
Hallo Case,
Ich habe mir schon eine Lösung "gebastelt".
https://www.herber.de/forum/messages/1777096.html
Aber an einer Lösung über ein Array wäre ich durchaus interessiert, allerdings fehlt mir hier sehr wahrscheinlich das Know How, deswegen habe ich es über Schleifen gelöst.
Schönen Sonntag dir.
Gruß Curly
Nachfolgend mal ein...
16.08.2020 13:21:28
Case
Hallo, :-)
... Beispiel, wie man es machen könnte: ;-)
Beispieldatei...
Der Code ist ausreichend kommentiert, so dass du ihn gegebenenfalls anpassen kannst. Eventuell sieht deine Datei ja anders aus. ;-)
Ich habe einfach mal noch ein paar Daten rankopiert.
Servus
Case

Anzeige
AW: Nachfolgend mal ein...
16.08.2020 14:13:19
Curly
Wow ,
Vielen Dank Case, genau so, wie ich es mir vorgestellt habe.
Dein Code ist auch sehr gut verständlich und gut beschrieben um ihn zu verstehen.
Ich wünsch dir noch einen schönes Wochenende.
Danke Curly

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige