Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
1816to1820
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
VBA: Maximalwert nach Bedingung
13.03.2021 19:42:32
Hardy
Hallo,
ich mal wieder ..
Also ich habe eine Spalte mit vielen Werten (z.b.D) , in einer weiteren Spalte (z.b.B) stehen Namen die
mehrfach vorkommen.
Ich möchte jetzt den Maximalwert in D errechnen bzw bestimmen in Abhängigkeit vom Namen.
Also z.b welchen Maximalwert hat Fritz (Spalte B) erreicht.
Der Wert soll dan in der Textbox1 angezeigt werden.
Ich habe jetzt schon einges gegoogelt und ausprobiert etc. maxifs geht ja nicht "max(wenn" klappt auch nicht...
irgendwie klappt es einfach nicht.
Das würde mir schon sehr weiterhelfen .
Das Optimum währe eine Lösung wo auch das jüngste Datum berücksichtigt wird
geht aber auch so ;)
Vieleicht weiß ja jemand Rat
Beispieldatei:
https://www.herber.de/bbs/user/144744.xlsm
Viele Grüße Hatrdy

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: Maximalwert nach Bedingung
13.03.2021 19:50:54
Hajo_Zi
Hallo Hatrdry,
warum nicht Formel?

Tabelle1
 F
2140
3180
4 
5 
6 
7 

verwendete Formeln
Zelle Formel Bereich N/A
F2:F7{=WENN(ZÄHLENWENN($B$2:B2;B2)=1;MAX(WENN($B$2:$B$7=B2;$D$2:$D$7));"")}$F$2 
{} Matrixformel mit Strg+Umschalt+Enter abschließen
Matrixformeln sind durch geschweifte Klammern {} eingeschlossen
Diese Klammern nicht eingeben!!



Bild
Homepage

Anzeige
AW: VBA: Maximalwert nach Bedingung
13.03.2021 19:52:37
Hardy
Hallo,
es muss leider unbedingt in VBA sein
Gruß Hardy

AW: VBA: Maximalwert nach Bedingung
13.03.2021 20:25:09
Hardy
Hallo,
es muss leider unbedingt in VBA sein
Gruß Hardy

AW: VBA: Maximalwert mit find
14.03.2021 10:43:52
hary
Moin
Private Sub ComboBox1_Change()
Dim rngFind As Range
Dim maximum As Double
Dim firstAddress As String
With Columns(2)
Set rngFind = .Find(ComboBox1, LookIn:=xlFormulas)
If Not rngFind Is Nothing Then
firstAddress = rngFind.Address
Do
If maximum  firstAddress
End If
TextBox1 = maximum
End With
End Sub

Wie meinst du es mit dem Datum?
gruss hary

AW: VBA: Maximalwert mit find
14.03.2021 12:51:54
Hardy
Hallo,
Ich habe den Code bei mir eingebunden und angepasst ,
klappt alles prima, Danke :)
Bis auf eins, ich habe in meiner Arbeitsmappe viele Tabellen
und hier soll explizit mit Tabelle4 gearbeitet werden. Das macht er so nicht, ich habe dann Testweise
Tabelle4 auf Aktiv gesetzt ,Worksheets("Tabelle4").Activate, dann geht alles.
Aber kann man nicht im Code die Tabelle direkt ansprechen ohne sie explizit auf aktiv zu setzten ?
Mit dem Datum , es soll der zuletzt eingegebene höchste Wert ausgegeben werden. Beispiel , wenn Fritz
am 10.01. einmal 120€ und 90€ hat, am 09.01. 150€ und am 08.01. 200€ müsste als Ergebniss 120€ ausgegeben werden, da das die Summe ist die zuletzt als höchster Wert eingegeben wurde.
Viele Grüße Hardy

Anzeige
AW: VBA: Maximalwert mit find
15.03.2021 08:23:00
hary
Moin
Mit dem Datum muss ich mir noch etwas einfallen lassen.
Private Sub ComboBox1_Change()
Dim rngFind As Range
Dim maximum As Double
Dim firstAddress As String
With Worksheets("Tabelle4")
Set rngFind = .Columns(2).Find(ComboBox1, LookIn:=xlFormulas)
If Not rngFind Is Nothing Then
firstAddress = rngFind.Address
Do
If maximum  firstAddress
End If
TextBox1 = maximum
End With
End Sub

gruss hary

AW: VBA: Maximalwert mit find
16.03.2021 12:31:55
Hardy
Hallo,
danke das funktioniert perfect :)
Mit dem Datum, da mach dir bitte nicht einen zu großen Kopf..
Es muss nicht unbedingt, es wäre nur so das I-Tüpfelchen ;)
Vom logischen ist mir das eigentlich klar, nimm den Namen schaue dort in das jüngste Datum und nimm da
den höchsten Wert. Ich denke das 'jüngste' Datum wird das Problem sein oder ?
Viele Grüße Hardy

Anzeige
AW: VBA: Maximalwert mit find
16.03.2021 14:42:01
Hardy
Hallo,
ich noch einmal.
Mir ist jetzt folgendes aufgefallen, ich arbeite bei der Eingabe nicht mit den Namen sondern mit
den Personalnr.
Wenn ich jetzt z.b. Personal Nr1 wähle zeigt er mir die Werte von Personalnr 12 an.
Ich hab jetzt soviel rausbekommen das es mit der Variable rngFind zu tun hat die als Range definiert ist.
Könntest du mir da nochmal helfen ?
Beispiel :
https://www.herber.de/bbs/user/144854.xlsm
Viele Grüße Hardy

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige