Berechnen von Teilern einer Zahl
Quellcode:
Sub Main() Dim Eingabe As String Eingabe = InputBox("Bitte die Zahl eingeben aus der die Teiler ermittelt werden sollen!") If IsNumeric(Eingabe) Then MsgBox Eingabe & ": " & Teiler(CDbl(Eingabe)) Else MsgBox "Keine Zahl" End If End Sub
----------------------------------------------------------------------------------
Function Teiler(ByVal Zahl As Double) As String Dim Fertig As Boolean Dim n As Long Dim m As Integer Select Case Zahl Case Is < 1 Teiler = "Fehler!" Case 1 Teiler = 1 Case Is > 2147483647 Teiler = "Fehler!" Case Else Fertig = False Do 'Teiler Suchen For n = 2 To Zahl If Zahl Mod n = 0 Then 'Teiler gefunden Exit For End If Next n If n >= Zahl Then 'Wenn keine Teiler mehr Beenden Fertig = True End If Zahl = Zahl / n 'Neue Zahl für neuen Teiler ermitteln Zahlen = Zahlen & "; " & n 'Teiler in Liste aufnehmen 'Sicherheitsabbruch m = m + 1 If m = 10000 Then Fertig = True Loop Until Fertig 'Entfernen der unnötigen Zeichen Teiler = Right(Zahlen, ((Len(Zahlen)) - 2)) End Select End Function