Thema Datum  Von Nutzer Rating
Antwort
Rot Ausgabe mehrerer Maximalwerte
16.06.2020 12:29:10 Justus
****
NotSolved
16.06.2020 17:56:49 ralf_b
NotSolved
16.06.2020 19:46:04 Gast63112
NotSolved
16.06.2020 20:07:01 Gast30340
NotSolved
16.06.2020 20:25:12 Justus
NotSolved
17.06.2020 13:20:17 Gast10586
NotSolved
17.06.2020 18:59:44 Justus
NotSolved
19.06.2020 16:20:35 Gast27860
NotSolved

Ansicht des Beitrags:
Von:
Justus
Datum:
16.06.2020 12:29:10
Views:
867
Rating: Antwort:
  Ja
Thema:
Ausgabe mehrerer Maximalwerte

Hallo zusammen,

leider bin ich mit dem Gebiet der Programmierung nicht sonderlich gut vertraut, weshalb sich für mich folgende Frage ergibt: Wie schaffe ich es mit Excel VBA mehrere Maximalwerte ausgeben zu lassen? Bevor ich das ganze besser zu erklären versuche, ersteinmal der Code:

Public Sub Fakultätenfinder()

Dim max As Integer
Dim i As Integer
Dim lieblingsfakultaet As Integer
Dim antwort As String
Dim prozentsatzLLF As Single
Dim maximalePunkte(1 To 14) As Integer


max = 0
i = 1
lieblingsfakultaet = 0
maximalePunkte(1) = 100
maximalePunkte(2) = 100
maximalePunkte(3) = 100
maximalePunkte(4) = 100
maximalePunkte(5) = 100
maximalePunkte(6) = 100
maximalePunkte(7) = 100
maximalePunkte(8) = 100
maximalePunkte(9) = 100
maximalePunkte(10) = 100
maximalePunkte(11) = 100
maximalePunkte(12) = 100
maximalePunkte(13) = 100
maximalePunkte(14) = 100

'Userform1 aufrufen
UserForm1.Show

'Userform2 wird in Userform1.CommandButton1 aufgerufen
'Userform3 wird in Userform2.CommandButton1 aufgerufen


MsgBox (zaehler(1) & "und" & zaehler(2) & "und" & zaehler(3))
'Maximumbestimmung
Do
    If zaehler(i) > max Then
        'gesammelte Punkte:
        max = zaehler(i)
        'geeignete Fakultät:
        lieblingsfakultaet = i
        i = i + 1
    Else: i = i + 1
End If
Loop Until i = 15

'Überschneidungen in Prozent:
i = 1
MsgBox ("Prüfung: Maximum liegt bei " & max)
Do
    If zaehler(i) = max Then
        prozentsatzLLF = (zaehler(i) / maximalePunkte(i))
        i = 15
        Else: i = i + 1
    End If
Loop Until i = 15

MsgBox (" Der Prozentsatz der Übereinstimmung beträgt " & prozentsatzLLF)

'Ausgabe für den Fall "Abbrechen"
If lieblingsfakultaet = 0 Or UserForm1.CommandButton2.Enabled = True Or UserForm2.CommandButton2.Enabled = True Or UserForm3.CommandButton2.Enabled = True Then
        antwort = InputBox("Wollen Sie  den Test neu starten? ja/nein")
            If antwort = "ja" Or antwort = "Ja" Or antwort = "j" Or antwort = "J" Then
                Call Fakultätenfinder
            End If
    'Ausgabe für den Fall "Mehrere Lieblingsfakultäten"
    'Ausgabe für den Fall "Eine Lieblingsfakultät"
Else: MsgBox ("Ihre beste Wahl sich umzuschauen wäre bei der " & lieblingsfakultaet & ". Fakultät. Sie haben mit dieser " & max & " Überschneidungspunkte")
End If

End Sub


Die Idee hinter dem Programm ist eine Art Fragebogen mithilfe von UserFormen, bei welcher durch das Anklicken von verschiedenen Antwortmöglichkeiten Zähler erhöht werden (14 Stück) und zum Schluss der Zähler bzw die Zähler mit der maximal erreichten Punkzahl (bzw dem maximal erreichten Prozentsatz) ausgegeben werden. Wie schaffe ich es nun, das Maximum auszugeben, wenn mehrere Zähler gleich hoch sind? Achja: zaehler(1 to 14) wurde in einem Modul mit Global definiert.
 
 
 
Übrigens: Die Ausgabe für einen maximalen Zähler klappt eigentlich gut. Jedoch hat sich wohl irgendwo in der folgenden If-Schleife ein Fehler eingeschlichen, sodass er nicht zur MsgBox bei Else springt. Ich hab mich da schon ne gefühlte Ewigkeit drangesetzt, weiß aber nicht, was da falsch ist.. Falls irgendwem der Fehler auffällt, wäre ich sehr dankbar für seine Hilfe.
If lieblingsfakultaet = 0 Or UserForm1.CommandButton2.Enabled = True Or UserForm2.CommandButton2.Enabled = True Or UserForm3.CommandButton2.Enabled = True Then
        antwort = InputBox("Wollen Sie  den Test neu starten? ja/nein")
            If antwort = "ja" Or antwort = "Ja" Or antwort = "j" Or antwort = "J" Then
                Call Fakultätenfinder
            End If
    'Ausgabe für den Fall "Mehrere Lieblingsfakultäten"
    'Ausgabe für den Fall "Eine Lieblingsfakultät"
Else: MsgBox ("Ihre beste Wahl sich umzuschauen wäre bei der " & lieblingsfakultaet & ". Fakultät. Sie haben mit dieser " & max & " Überschneidungspunkte")
End If

Vielen Dank für Eure Hilfe!


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Ausgabe mehrerer Maximalwerte
16.06.2020 12:29:10 Justus
****
NotSolved
16.06.2020 17:56:49 ralf_b
NotSolved
16.06.2020 19:46:04 Gast63112
NotSolved
16.06.2020 20:07:01 Gast30340
NotSolved
16.06.2020 20:25:12 Justus
NotSolved
17.06.2020 13:20:17 Gast10586
NotSolved
17.06.2020 18:59:44 Justus
NotSolved
19.06.2020 16:20:35 Gast27860
NotSolved