Registriert seit: 16.09.2021
Version(en): Office365
Liebe Experten,
Ich würde gerne ein Spielchen mit drei Zahlen basteln bei dem über eine Inputbox drei Zahlen eingegeben werden sollen und anschließend mit einer Schleife nach Größe sortiert in einem Listenfeld ausgeben werden.
Mir ist klar dass grade bei mehr als drei Werten ein Array dafür mehr Sinn macht, aber wie kann ich es denn mit einer Schleife lösen?
Danke schonmal für die Hilfe
Registriert seit: 11.03.2015
Version(en): mittlerweile meistens 2019
Hallo,
eine Schleife bringt nur dann etwas, wenn Du mittels der Schleife einen Bezug zu den Variablen herstellen kannst (z. B. Zählvariable der Schleife wird verwendet um auf den Index des Arrays zuzugreifen).
Bei drei Variablen braucht es eh nur drei Vergleiche um diese zu sortieren. Was aber keinen Sinn macht, denn man kann eine Schleife auch über kleine Arrays laufen lassen.
Gruß
Michael
Registriert seit: 21.12.2017
Version(en): MS 365 Family (6 User x 5 Geräte für jeden) Insider-Beta
20.09.2021, 11:15
(Dieser Beitrag wurde zuletzt bearbeitet: 20.09.2021, 11:31 von LCohen.)
Tabellenfunktionsanalogie:
{B1:B3:} {=KKLEINSTE(A1:A3;{1;2;3})}
B1: =SORTIEREN(A1:A3) (nur neues Excel, erlaubt auch alphanum)
Registriert seit: 29.09.2015
Version(en): 2030,5
20.09.2021, 12:42
(Dieser Beitrag wurde zuletzt bearbeitet: 20.09.2021, 12:43 von snb.)
Code:
Sub M_snb()
For j = 1 To 3
Names.Add Format(Choose(j, 12, 56, 4), "a00_"), Choose(j, 12, 56, 4), 0
Next
For Each it In Names
c00 = c00 & it.Value
it.Delete
Next
MsgBox Replace(c00, "=", " ")
End Sub
oder
Code:
Sub M_snb_sorteren()
With GetObject("new:{00000535-0000-0010-8000-00AA006D2EA4}")
.Fields.Append "getal", 3
.Open
For j = 1 To 3
.addnew
.Fields("getal") = Choose(j, 45, 23, 7)
.Update
Next
.Sort = "getal"
MsgBox .GetString
End With
End Sub
Und es kann noch viel aufwändiger.