Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

vba maximalwert in bestimmtem Zahlenbereich ermitteln

Forumthread: vba maximalwert in bestimmtem Zahlenbereich ermitteln

vba maximalwert in bestimmtem Zahlenbereich ermitteln
22.12.2019 12:30:40
Gerold
Ein Hallo in das Forum!
arbeite schon seit Jahren mit Excel und das Forum ist mir stets eine gute Stütze. Konnte immer eine Lösung finden.
Nur aktuell komme ich nicht so richtig weiter. Suche eigentlich nur einen einfachen VBA-Code der die Excelfunktion MAXWENNS umsetzt.
Konkret: in der Spalte A befinden sich Kundennummern in 2 unterschiedlichen Zahlenbereichen (1000 bis 9999 und 96001234 bis ....).
Per VBA suche ich jetzt immer die nächste freie Kundennummer des unteren Zahlenbereiches. Also Max(Zahlenbereich1)+1.
Mit einer EXCEL-Formel bekomme ich das leicht hin, möchte es aber in VBA realisieren, da mir das sicherer erscheint bei einer Vielzahl von Anwendern. Ich denke das dürfte für euch Experten kein Problem sein. Herzlichen Dank schon im Voraus.
Gerold
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: vba maximalwert in bestimmtem Zahlenbereich ermitteln
22.12.2019 12:52:27
Werner
Hallo Gerold,
was meinst du mit "unteren Zahlenbereich"?
Meinst du so?
Sub Tabelle2_Schaltfläche1_Klicken()
With Worksheets("Tabelle1")
MsgBox WorksheetFunction.MaxIfs(.Columns(1), .Columns(1), ">" & 96001233) + 1
End With
End Sub
Gruß Werner
Anzeige
AW: vba maximalwert in bestimmtem Zahlenbereich ermitteln
22.12.2019 13:48:47
Gerold
Hallo Werner,
herzlichen Dank! Genau das habe ich gesucht, ich musste nur das ">" ändern auf " Gruß
Gerold
Gerne u. Danke für die Rückmeldung. o.w.T.
22.12.2019 13:50:07
Werner
AW: vba maximalwert in bestimmtem Zahlenbereich ermitteln
22.12.2019 12:54:25
onur
"Ich denke das dürfte für euch Experten kein Problem sein" - ja klar, wir kennen ja auch deine Datei in- und auswendig, weswegen du ja auch nicht noch mehr Informationen, geschweige denn die Datei, posten musst.
Anzeige
AW: vba maximalwert in bestimmtem Zahlenbereich ermitteln
22.12.2019 13:57:11
Gerold
Hallo Onur,
danke für Deine Rückmeldung. Aber Werner hat es gleich verstanden. Ich will Euch ja nicht zutexten mit unnötigen Infos.
Gruß
Gerold
AW: vba maximalwert in bestimmtem Zahlenbereich ermitteln
22.12.2019 14:00:10
onur
"was meinst du mit "unteren Zahlenbereich"? Meinst du so?" - wie du siehst, musste auch er, wenn auch richtig, herumraten, und dafür haben die Wenigsten die Lust oder die Zeit.
Anzeige
AW: vba maximalwert in bestimmtem Zahlenbereich ermitteln
22.12.2019 14:03:11
Gerold
werde mich künftig mehr bemühen :-)
;
Anzeige
Anzeige

Infobox / Tutorial

Maximalwert in einem bestimmten Zahlenbereich mit VBA ermitteln


Schritt-für-Schritt-Anleitung

Um den maximalen Wert in einem bestimmten Zahlenbereich mit VBA zu ermitteln, kannst Du die MaxIfs-Funktion verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne den Visual Basic for Applications (VBA) Editor:

    • Drücke ALT + F11 in Excel.
  2. Füge ein neues Modul hinzu:

    • Klicke mit der rechten Maustaste auf dein Projekt im Projektfenster und wähle Einfügen > Modul.
  3. Gib den folgenden VBA-Code ein:

    Sub MaximalwertErmitteln()
       Dim maxWert As Long
       With Worksheets("Tabelle1")
           maxWert = WorksheetFunction.MaxIfs(.Columns(1), .Columns(1), ">" & 96001233) + 1
       End With
       MsgBox "Der nächste freie Wert ist: " & maxWert
    End Sub
  4. Passe den Code an:

    • Stelle sicher, dass Du die richtige Tabelle und die entsprechenden Spalten verwendest.
  5. Führe das Makro aus:

    • Klicke auf Run oder drücke F5, um das Makro zu starten.

Häufige Fehler und Lösungen

  • Fehler: "Method 'MaxIfs' of object 'WorksheetFunction' failed"

    • Lösung: Überprüfe, ob Du die richtigen Argumente übergibst. Stelle sicher, dass die Spalte existiert und die Bedingungen korrekt sind.
  • Fehler: Ungültiger Zellbereich

    • Lösung: Vergewissere Dich, dass der Zellbereich korrekt angegeben ist und die Daten in der angegebenen Spalte vorhanden sind.

Alternative Methoden

Wenn Du die MaxIfs-Funktion nicht verwenden möchtest, kannst Du auch eine Excel-Formel nutzen, um den maximalen Wert zu ermitteln:

  • Excel-Formel:
    =MAX(WENN(A1:A100>96001233; A1:A100))

    Drücke STRG + SHIFT + ENTER, um die Formel als Matrixformel einzugeben.


Praktische Beispiele

Hier sind einige Beispiele, wie Du den maximalen Wert in verschiedenen Szenarien ermitteln kannst:

  1. Maximalwert aus einem Bereich von Kundennummern: Wenn Du Kundennummern in Spalte A von Tabelle1 hast, die von 1000 bis 9999 und 96001234 bis ... reichen, kannst Du den oben angegebenen VBA-Code verwenden.

  2. Maximalwert mit mehreren Kriterien: Du kannst die MaxIfs-Funktion auch erweitern, um mehrere Kriterien zu berücksichtigen. Beispiel:

    maxWert = WorksheetFunction.MaxIfs(.Columns(1), .Columns(1), ">" & 96001233, .Columns(2), "<=10000")

Tipps für Profis

  • Verwende Option Explicit: Füge Option Explicit am Anfang Deines Moduls hinzu, um sicherzustellen, dass alle Variablen deklariert sind. Dies hilft, Fehler zu vermeiden.

  • Optimiere die Leistung: Wenn Du mit großen Datenmengen arbeitest, kann es hilfreich sein, den Bildschirm während der Ausführung des VBA-Codes auszuschalten:

    Application.ScreenUpdating = False
    ' Dein Code hier
    Application.ScreenUpdating = True

FAQ: Häufige Fragen

1. Wie kann ich den VBA-Code anpassen, um andere Zahlenbereiche zu berücksichtigen? Du kannst die Bedingungen in der MaxIfs-Funktion anpassen, um verschiedene Zahlenbereiche abzudecken.

2. Ist die MaxIfs-Funktion in allen Excel-Versionen verfügbar? Die MaxIfs-Funktion ist ab Excel 2010 verfügbar. Wenn Du eine ältere Version verwendest, musst Du alternative Methoden nutzen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige