Anzeige
Archiv - Navigation
1856to1860
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

RG-Nummer nach Jahr und Max

RG-Nummer nach Jahr und Max
04.12.2021 10:08:04
Sigi
Hallo,
gibt es eine bessere Lösung für die Ausgabe des höchsten Wertes mit Jahr als Bedingung?
Danke!
Gruß
Sigi
https://www.herber.de/bbs/user/149571.xlsm

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: mit ner Pivotauswertung einfach & komplett owT
04.12.2021 10:14:42
neopa
Gruß Werner
.. , - ...
AW: mit ner Pivotauswertung einfach & komplett owT
04.12.2021 16:17:14
Sigi
Hallo Werner, hallo Hajo,
leider kann ich keinen Eurer Vorschläge für mein Anliegen verwenden.
Wenn z.B. einen neue RGNr. vergeben wird, wird diese, nach Erstellung der RG, in die Liste mit Datum eingetragen.
Warum das Ganz:
Anhand des Datums(Jahr) soll die Rechnungsnummer fortlaufend vergeben werden.
Danke!
Gruß
Sigi
AW: dann nutze ZÄHLENWENN() ...
04.12.2021 16:26:44
neopa
Hallo Sigi,
... für RG z.B. folgende Formel in B2: =WENN(A2="";"";WENNFEHLER((JAHR(A2)=JAHR(A1))*B1+1;1)) und kopiere diese nach unten.
Gruß Werner
.. , - ...
AW: Leider Mustermappe nicht beachtet...
04.12.2021 16:58:35
Sigi
Hallo,
ich benötige keine Formellösung sondern wie in der UF beschriebene Code.
Dieser funktioniert zwar, wollte nur wissen ob es eine bessere Lösung gibt.
Danke!
Gruß
Sigi
Anzeige
AW: VBA-Lösung gesucht, thread offen owT
04.12.2021 17:28:16
neopa
Gruß Werner
.. , - ...
VBA: keine bessere Lösung
04.12.2021 18:16:41
Yal
Hallo Sigi,
dein Code ist sauber. Man könnte sich ein paar Variablen sparen, um es schlanker zu machen, aber es wäre keine wesentliche Optimierung.
Nur den Max ist für mich nach nachvollziehbar: es sind mindestens zwei parameter erwartet. Die bisherige Wert solte auch mitgegeben werden:

lRGNr = Application.Max(.Cells(lol, 2), lRGNr)
Ich habe folgende Gewohnheiten, ob sie helfen, "besser" zu programmieren, ist geschmacksache:
_ Schleifen-Variablen 1-stellig: For i = ... , For each Z in ...
_ Variablennamen so kurz wie möglich aber sprechend (+"Kamelcase"), meist auf Deutsch, um aus dem VBA rauszustechen.
_ bei Sub/Function-interne Variablen, keine rng.. int... lng... Präfix. Das braucht man nur bei übergreifenden Variablen in grossen Projekt.
_ mit den Objekt anstatt mit deren Eigenschaften arbeiten. Man kann dann jede Eigenschaft zugreifen. In dem Fall:

With Sheets("RGNR")
For Each Z In .Range(.Range("A2"), .Range("A99999").End(xlUp)).Cells
If Year(Z.Value) = Year(cboRG_Datum) Then ReNrMax = Application.Max(Z.Offset(, 1).Value, ReNrMax)
Next
End With
VG
Yal
Anzeige
AW: VBA: keine bessere Lösung
04.12.2021 18:34:01
GerdL
Und in irgendeiner Form gehören Plausis dazu.

Private Sub cboRG_Datum_Change()
Dim lol As Long
Dim lRGNr As Long
If cboRG_Datum Like "##.##.####" Then
Jahr = Year(cboRG_Datum)
With Sheets("RGNR")
For lol = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
Jahr1 = Year(.Cells(lol, 1))
If Jahr = Jahr1 Then
lRGNr = Application.Max(.Cells(lol, 2))
End If
Next
txtRG_NR.Text = lRGNr + 1
End With
Else
txtRG_NR.Text = ""
End If
End Sub
Gruß Gerd
@Gerd: stimmt, aber...
04.12.2021 19:49:33
Yal
... wenn man es richtig nehmen möchte, sollte diese Prüfung schon bei der Eingabe in die cboRG_Datum stattfinden, um nur Datum-taugliche Eingabe zu akzeptieren.
Es ist in dem Fall nicht relevant, weil den cboRG_Datum per VBA vorbefüllt wird und daher nur Datum zur Auswahl hat.
VG
Yal
Anzeige
AW: @Gerd: stimmt, aber...
04.12.2021 20:38:07
GerdL
Hallo Yal,
ich kann lustig im cboRG_Datum manuell rumwirken.
Gruß Gerd
AW: VBA: keine bessere Lösung
05.12.2021 03:49:03
Sigi
Hallo,
ich Danke Euch für die Hilfe!
Die Combo Box habe ich nur hier zur Verwendung gebracht, in meiner Datei wird das Datum per Kalendersteuerelement eingetragen. Somit kann das Datum nicht falsch sein.
Yal, Vielen Dank, für die Erklärung der Programmierung.
Super!
Gruß
Sigi
AW: RG-Nummer nach Jahr und Max
04.12.2021 10:18:21
Hajo_Zi
Hallo Sigi,

RGNR
 C
1 
2 
3 
4 
5 
6 
76
8 
9 
10 
11 
12 
13 
14 
158

verwendete Formeln
Zelle Formel Bereich N/A
C2:C15{=WENN(JAHR(A2)<>JAHR(A3);MAX(WENN(JAHR($A$2:$A$15)=JAHR(A2);$B$2:$B$15));"")}$C$2 
{} Matrixformel mit Strg+Umschalt+Enter abschließen
Matrixformeln sind durch geschweifte Klammern {} eingeschlossen
Diese Klammern nicht eingeben!!

http://excel-inn.de/dateien/vba_beispiele/tabellenanzeige_in_html_addin.zip
http://Hajo-Excel.de/tools.htm
Add-In-Version 25.23 einschl. 64 Bit
XHTML-Tabelle zur Darstellung in Foren, einschl. Funktion zum Zurücklesen in eine Excel-Tabelle


GrußformelHomepage
In diesem Forum bekomme nur selten eine Mailbenachrichtigung, weitere Antworten sind zufällig.
Anzeige
AW: wenn es eine Formellösung sein soll ...
04.12.2021 16:15:34
neopa
Hallo Sigi,
... dann kannst Du in Deiner XL-Version einfach(er) die Funktion MAXWENNS() nutzen.
Gruß Werner
.. , - ...

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige