Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Sortieren von Zahlen ohne Array
#1
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
Antworten Top
#2
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
Antworten Top
#3
Tabellenfunktionsanalogie:

{B1:B3:} {=KKLEINSTE(A1:A3;{1;2;3})}
B1: =SORTIEREN(A1:A3) (nur neues Excel, erlaubt auch alphanum)
Antworten Top
#4
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.
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste