Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Spalte J und L Höchstbetrag ermitteln

Forumthread: Spalte J und L Höchstbetrag ermitteln

Spalte J und L Höchstbetrag ermitteln
20.05.2025 20:11:42
chris58
Hallo !
Ich habe von Case den Code für den Höchstbetrag erhalten. Ich habe lange versucht diesen in meine Originaldatei einzubauen. Leider kommt immer wenn ich den Button drücke die Meldung "Jahr nicht vorhanden" obwohl in F7 doch das Jahr steht. Case hat geschrieben, das das Datum keine Daten sind. Ich habe gegoogelt und versucht das Datum anders darzustellen, als wie es eingegeben wird. Ich habe keine Ahnung warum es nicht geht. Ich habe Seine 177405.xls (also meine) mit den Daten von der Originaldatei befüllt, dann geht das aber auch nicht. Nun habe ich mich entschlossen, die gesamte Datei (ohne der anderen Tabellenblätter) hier reinzustellen. Vielleicht kann mir ein User helfen.
Danke
chris58

Hier die Datei:
https://www.herber.de/bbs/user/177515.xls


und hier der Tread:
https://www.herber.de/forum/archiv/2012to2016/2012371_Hoechste_Zahl_in_Spalte_Jahr.html#2012371
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Teste mal...
20.05.2025 20:24:32
Case
Moin, :-)

... die Datei: ;-)
https://www.herber.de/bbs/user/177516.xls

Wenn du z. B. in V23 die Formel =ISTZAHL(A23) eingibst und runterziehst, dann siehst du viele FALSCH. Dein Datum ist keine Zahl.

Schreibe in eine leere Zelle eine 1 - kopiere diese Zelle - markiere A23:A643 und dann auf Inhalte einfügen... - Multiplizieren anhaken und OK. Dann wieder als Datum formatieren.

Servus
Case
Anzeige
Danke
20.05.2025 21:29:39
chris58
Hallo Case !
Also ich habe das mit der Formel "=ISTZAHL(A23)" gemacht und da sind bis A.... FALSCH. Ab dann steht WAHR.
Dann habe ich das mit "Schreibe in eine leere Zelle eine 1 - kopiere diese Zelle - markiere A23:A643 und dann auf Inhalte einfügen... - Multiplizieren anhaken und OK. Dann wieder als Datum formatieren. " - wußte aber nicht..........was mit Multiplizieren gemeint war....................meine, wo das zu finden ist.

Ich bin also hergegangen und habe die Datei:
https://www.herber.de/bbs/user/177516.xls die Du mitgeschickt hast genommen und habe das gesamte Tabellenblatt über meine Originaldatei (gleich wie diese) drüberkopiert.
Dann geht das jährliche zwar, nur .................. E7 - G18 diese Feldern werden bei Umstellung der Jahreszahl nicht mehr richtig berechnet, so wie in DEINER mitgeschickten Datei 177516.xls.
Ich danke Dir sehr herzlich für Deine Zeit, aber ich denke, ich werde das bleiben lassen.
Danke jedenfalls für Deine Hilfe
chris58
Anzeige
AW: Danke
20.05.2025 21:36:39
cysu11
Hallo Chris,

wenn dein Bereich "E7:G18" in deiner Datei funktioniert hat, dann mach doch nur das was Case gesagt, dann funktioniert das Ganze mit diesen Codes
Option Explicit

Public Sub Main()
Dim lngTMP As Long
On Error GoTo Fin
Application.EnableEvents = False
lngTMP = Cells(Rows.Count, "J").End(xlUp).Row
Application.Goto Range(Application.Evaluate("=ADDRESS(MATCH(MAX(IF(YEAR(A23:A" & lngTMP & ")=F7,J23:J" & lngTMP & ")),J23:J" & lngTMP & ",0)+22,10)")), True
With Selection
.Interior.ColorIndex = xlNone
.Interior.ColorIndex = 33
End With
ActiveWindow.ScrollColumn = 1
Fin:
Application.EnableEvents = True
If Err.Number > 0 Then MsgBox "Jahr nicht vorhanden!", vbCritical
End Sub
Public Sub Main_1()
Dim lngTMP As Long
On Error GoTo Fin
Application.EnableEvents = False
lngTMP = Cells(Rows.Count, "L").End(xlUp).Row
Application.Goto Range(Application.Evaluate("=ADDRESS(MATCH(MAX(IF(YEAR(A23:A" & lngTMP & ")=F7,L23:L" & lngTMP & ")),L23:L" & lngTMP & ",0)+22,12)")), True
With Selection
.Interior.ColorIndex = xlNone
.Interior.ColorIndex = 33
End With
ActiveWindow.ScrollColumn = 1
Fin:
Application.EnableEvents = True
If Err.Number > 0 Then MsgBox "Jahr nicht vorhanden!", vbCritical
End Sub
:
BR, Alexandra
Anzeige
AW: Spalte J und L Höchstbetrag ermitteln
20.05.2025 21:11:05
UweD
Hallo

versuch mal die Formel in eine Zelle zu schreiben

[V22].Formula = "=ADDRESS(MATCH(MAX(IF(YEAR(A23:A" & lngTMP & ")=F7,J23:J" & lngTMP & ")),J23:J" & lngTMP & ",0)+22,10)"


Du wirst feststellen das ein @ in der Formel auftaucht.
Das wird gesetzt, weil Excel ein Array erwartet

mit
[V22].Formula2 =
lässt sich das beheben, aber ich finde nichts, das in dem Evaluate einzubauen

Mein Vorschlag:

Public Sub Main()

Dim lngTMP As Long
Dim rngZiel As Range
Dim strFormel As String
Dim zielAdresse As String

On Error GoTo Fin
Application.EnableEvents = False
lngTMP = Cells(Rows.Count, "J").End(xlUp).Row

'Temporäre Formel in leere Zelle einfügen
Range("V22").Formula2 = "=ADDRESS(MATCH(MAX(IF(YEAR(A23:A" & lngTMP & ")=F7,J23:J" & lngTMP & ")),J23:J" & lngTMP & ",0)+22,10)"

'Ergebnis lesen
zielAdresse = Range("V22").Value

'Optional: Formel wieder löschen
Range("V22").ClearContents

'Springen
Application.Goto Range(zielAdresse), True

With Selection
.Interior.ColorIndex = xlNone
.Interior.ColorIndex = 33
End With
ActiveWindow.ScrollColumn = 1
Fin:
Application.EnableEvents = True
If Err.Number > 0 Then MsgBox "Jahr nicht vorhanden!", vbCritical
End Sub



LG UweD
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18