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.

Makro funktioniert nicht wegen "ZUFALLSBEREICH"
#1
Hallo,
bin Excel Neuling und habe folgendes Problem bei der Erstellung eines Makros:

Wie ich aus einem Lehrvideo gelernt hab, kann man mit den Funktionen INDIREKT und ZUFALLSBEREICH Zufallszahlen aus einem vorher definierten Bereich generieren:

  = INDIREKT("F" & ZUFALLSBEREICH(70; 74))

Das funktioniert auch ganz prima in der Excel-Tabelle und durch Drücken von F9 werden jedesmal neue Zahlen generiert.

Wenn ich aber ein Makro schreibe, in dem der obige Befehl vorkommt, kommt eine Fehlermeldung, von wegen Syntax-Fehler oder so.

Hat jemand Ahnung, was  ich falsch mache und wie es richtig heißen muß?

Für Eure Mühe im vorhinein vielen Dank.
Antworten Top
#2
Hallo,

hier mein Vorschlag:

Code:
Sub Zufallszahl()
Dim rng As Range
    Dim randomCell As Range
    Dim randomNumber As Integer
   
    ' Bereich angeben
    Set rng = Range("F70:F74")
   
    ' Zufällige Zelle aus dem Bereich auswählen
    Set randomCell = rng.Cells(Int(rng.Cells.Count * Rnd + 1))
   
    ' Wert der zufälligen Zelle erhalten
    randomNumber = randomCell.Value
   
    ' Zufällige Zahl in Zelle A1 schreiben
    Range("A1").Value = randomNumber
End Sub
Da du nicht angegeben hast, wo die Zufallszahl ausgegeben wird, habe ich in dem VBA-Code Zelle A1 hinterlegt.
[-] Folgende(r) 1 Nutzer sagt Danke an el-rettev für diesen Beitrag:
  • zabulon
Antworten Top
#3
Hallo,

probiere es mal mit INDEX():

=INDEX(F:F;ZUFALLSBEREICH(70;74))

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • el-rettev
Antworten Top
#4
Hallo,
erstmal tausend Dank für Deine schnelle Hilfe. Es klappt ganz ausgezeichnet, das Feld A1 hab ich geändert.

Kannst Du mir auch sagen, was ich tun muß, wenn ich eine zweite Zufallszahl ermitteln will, sagen wir im Bereich F90 - F100 ?

Insgesamt geht es um 6 Zahlen, aber wenn ich weiß, wie ich den zweiten Wert krieg, kann ich hoffentlich die anderen vier alleine schaffen.

Hallo,

tausend Dank für Deine schnelle Hilfe.  

Kannst Du mir auch sagen, was ich tun muß, um eine zweite Zahl zu ermitteln aus einem anderen Bereich, z.B. F90 - F100 ?

Insegsamt geht es um 6 Zahlen, aber wenn ich weiß, wie ich auch die 2. Zahl kriege, werd ich die übrigen vier hoffentlich alleine hinkriegen.

Die sechs Zahlen müßten dann auch noch aufsteigend sortiert werden und dürfen nicht doppelt vorkommen, aber das würde jetzt wohl zu weit führen.

Ich wäre schon happy wenn ich die sechs alle hinkriege und schau dann mal weiter.
Antworten Top
#5
Moin zabulon,

wirf doch mal einen Blick nach hier. Ich glaube, da werden alle Deine Wünsche erfüllt.

Grüße

d`r Bastler von den VBAsteleien.de
Win 10 & 11, Office 2019 & 2021 & macOS X.15, XL 2019
Antworten Top
#6
Anscheinend wurde das gleiche hier auch gefragt ;)
https://www.herber.de/forum/archiv/1932t...ahlen.html
Gruß
Michael
Antworten Top


Gehe zu:


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