Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Schleife bei Zufallszahlen

Frage Microsoft Microsoft Office

Mitglied: hanheik

hanheik (Level 1) - Jetzt verbinden

12.02.2011 um 11:17 Uhr, 3369 Aufrufe, 4 Kommentare

Projekt: Übungsaufgaben für die Grundschule

Hallo Spezis,

für die Excel-Datei mit Übungsaufgaben für die Grundschuke bin ich zur Zeit bei der Subtraktion.
Zur Generierung von Übungsaufgaben verwende ich das folgende Makro in immer abgewandelter Form:

Sub neueZahlenSubtraktionbis1000()
Dim Bereich As Range
Dim zelle As Range
Sheets("Subtraktion bis 1000").Select

Set Bereich = Range("A1:A100,C1:C100")

For Each zelle In Bereich
zelle.Value = Int((1000 * Rnd) + 1)
Next zelle

End Sub

Bei der Subtraktion erzeugt diese Makro jedoch auch Aufgaben, bei denen der Subtrahend größer ist als der Minuend. zB: 123-768=
Da die Kinder jedoch noch keine negativen Zalen kennen, kann man eine solche Aufgabe nicht brauchen.

Wie kann man das Makro so verschleifen, daß es die Felder in einer Zeile überprüft?
Zelle a1 größer Zelle c1 : in Ordnung > nächste Zeile
Zelle a1 kleiner Zelle c1 : nicht in Ordnung > Zeile nochmal mit Zufallszahlen belegen

Kann mir dabei jemand helfen?

Gruß

Hanheik
Mitglied: bastla
12.02.2011 um 12:29 Uhr
Hallo hanheik!

Würde ich eher so machen:
01.
Sub neueZahlenSubtraktionbis1000() 
02.
Zeilenanzahl = 1000 
03.
 
04.
Sheets("Subtraktion bis 1000").Select 
05.
For i = 1 To Zeilenanzahl 
06.
    Cells(i, "A") = Int((1000 * Rnd) + 1) 
07.
    Do 
08.
        Cells(i, "C") = Int((1000 * Rnd) + 1) 
09.
    Loop Until Cells(i, "C") <= Cells(i, "A") 
10.
Next 
11.
End Sub
Die Abfrage muss auf "<=" erfolgen, da ansonsten bei einem Minueneden von 1 kein passender Subtrahend gefunden werden kann und das Script in eine Endlosschleife gerät. Alternativ könntest Du auch dem Minuenden ansstelle eines "+1" ein "+10" mit auf den Weg geben ...

Grüße
bastla

P.S.: Die Anleitung zur "Code"-Formatierung findest Du übrigens hier ...
Bitte warten ..
Mitglied: 76109
12.02.2011 um 12:46 Uhr
Hallo @All

oder so:
01.
Sub neueZahlenSubtraktionbis1000() 
02.
    Sheets("Subtraktion bis 1000").Select 
03.
    For i = 1 To 100 
04.
        Cells(i, "A") = Int((1000 * Rnd) + 1) 
05.
        Cells(i, "C") = Int((Cells(i, "A") - 1) * Rnd + 1)  'Zelle A als Obergrenze 
06.
    Next 
07.
End Sub
Gruß Dieter
Bitte warten ..
Mitglied: Biber
12.02.2011 um 14:09 Uhr
Moin hanheik,

oder, als dritte Variante, ein Versuch diesem zerstückelten Bereich A1:A100;C1:C100 irgendeinen Sinn einzuhauchen:
01.
Sub neueZahlenSubtraktionbis1000() 
02.
Dim Bereich As Range 
03.
Dim zelle As Range 
04.
Dim nextMinuend As Integer 
05.
Dim nextSubtrahend As Integer 
06.
 
07.
Sheets("Subtraktion bis 1000").Select 
08.
 
09.
Set Bereich = Range("A1:A100,C1:C100") 
10.
 
11.
For i = 1 To Bereich.Areas(1).Cells.Count 
12.
  nextMinuend = Int((1000 * Rnd) + 1) 
13.
  nextSubtrahend = Int((1000 * Rnd) + 1) 
14.
  Bereich.Areas(1).Cells(i).Value = IIf(nextMinuend > nextSubtrahend, nextMinuend, nextSubtrahend) 
15.
  Bereich.Areas(2).Cells(i).Value = IIf(nextMinuend > nextSubtrahend, nextSubtrahend, nextMinuend) 
16.
 
17.
Next i
[Obwohl eigentlich der ganze Ansatz nur durch das Vorhandensein des zusammengekloppten Bereichs erst so kompliziert wird.
Normalererweise würde jeder Zusammenschroter die Zellen A1:A100 und C1:C100 direkt addressieren]


Grüße
Biber
Bitte warten ..
Mitglied: hanheik
12.02.2011 um 14:23 Uhr
Hallo Ihr 3,

vielen Dank für eure Mühe, das funktioniert und hilft wirklich weiter.

Gruß

Hanheik
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch Zufallszahl begrenzen!
gelöst Frage von FrexedBatch & Shell2 Kommentare

Hallo Leute, Ich möchte in folgendem Code ein Problem lösen. (Eine Zufallszahl begrenzen, z.B.: Die Kommandozeile soll eine Zufallzahl ...

Batch & Shell
Quickie: Zufallszahl via bash wird nicht ausgegeben
gelöst Frage von FA-jkaBatch & Shell5 Kommentare

Ich möchte in einem bash-Script eine Zufallszahl zwischen 10 und 99 generieren: $zufallszahl=$((RANDOM % 90 +10)) echo "Zufallszahl: $zufallszahl" ...

Batch & Shell
Batch Schleife als FOR-SCHLEIFE
gelöst Frage von mp2711Batch & Shell2 Kommentare

Mit den FOR-Schleifen habe ich mich leider bislang zu selten auseinander gesetzt, aber da ich sonst gerade nicht weiter ...

Microsoft Office
Vereinfachen einer Schleife
Frage von Jens1975Microsoft Office1 Kommentar

Hallo, ich bin neu und versuche mich jetzt mit VBA Ich möchte die Funktion Autofill durch eine Schleife ersetzen. ...

Neue Wissensbeiträge
Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 2 TagenWindows 106 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 2 TagenSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 2 TagenInternet5 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 2 TagenDSL, VDSL2 Kommentare

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Heiß diskutierte Inhalte
Batch & Shell
Kann man mit einer .txt Datei eine .bat Datei öffnen?
gelöst Frage von HelloWorldBatch & Shell20 Kommentare

Wie schon im Titel beschrieben würde ich gerne durch einfaches klicken auf eine Text oder Word Datei eine Batch ...

LAN, WAN, Wireless
WLAN Reichweite erhöhen mit neuer Antenne
gelöst Frage von gdconsultLAN, WAN, Wireless9 Kommentare

Hallo, ich besitze einen TL-WN722N USB-WLAN Dongle mit einer richtigen Antenne. Ich frage mich jetzt ob man die Reichweite ...

Router & Routing
Wieso kann ich den UPD 7000-9000 nicht freigeben?
Frage von Jayk0bRouter & Routing8 Kommentare

Router: Telekom W 723V Ports: UDP 7000-9000 Können nicht frei gegeben werden. Benutzgrund: Rocket League 7000 – 9000 UDP ...

Router & Routing
Fritzbox Gastnetz - exposed Host - zur Sophos IPTV
Frage von medikopterRouter & Routing8 Kommentare

Hallo zusammen, ich habe eine Frage bezüglich des Fritz box Gastzugangs an einer Sophos UTM Home. An liebsten wäre ...