Variablen Typ unverträglich?

Bild

Betrifft: Variablen Typ unverträglich?
von: Jürgen K.
Geschrieben am: 14.11.2003 08:59:19

Hallo Excel Experten

ich versuche aus einer Reihe von Werten (B1:Bn, n ist variabel) den Maximalwert zu ermitteln und dann aus einem Wertebereich von 1 bis zu eben diesem ermittelten Maximalwert eine Zufallszahl ausgeben zu lassen.
(nur in diesem Bereich stehen Werte auf dem Blatt)

Dieser Teil >Max = Application.Max(Cells)< liefert mir den max. Wert
und dieser Teil >Zeile = [TRUNC(RAND()*Max)]< sollte eigentlich die Zufallszahl ermitteln (Zeile deshalb, weil ich diesen Wert später in einer Offset Zuordnung verwenden will).

Ich bekomme aber immer eine Fehlermeldung in der letztgenannten Zeile (Laufzeitfehler 13, Typen unverträgllich). Kann mir vielleicht jemand erklären, woran das liegt?

Wenn z. B. der Teil >Max = Application.Max(Cells)< den Wert 155 liefert
und ich diesen fix in den Teil >Zeile = [TRUNC(RAND()*Max)]< anstelle von Max eintrage, funktionierts einwandfrei.

Ich habe schon alle möglichen Variablentypen probiert, leider ohne positiven Erfolg.

Die Wertebereiche von Zeile und Max sind dabei meiner Meinung nach nicht das Problem.


So sieht der gesamte Code derzeit aus.


Sub Zufallswert()
Dim Zeile As Byte
Dim Max As Byte
Max = Application.Max(Cells)
Zeile = [TRUNC(RAND()*Max)]
Range("B1").Select
Range("A1").Value = ActiveCell.Offset(Zeile, 0).Value
End Sub



Gruß, Jürgen
Bild


Betrifft: AW: Variablen Typ unverträglich?
von: Dirk
Geschrieben am: 14.11.2003 09:24:21

Hallo.

Da Du Max als Byte definierst ist es doch eigentlich nicht notwendig, die Kommastellen abzuschneiden(das passiert doch mit trunc,oder?). Wenn ich das weglasse, funktionierts bei mir.

Cheers


Bild


Betrifft: AW: Variablen Typ unverträglich?
von: Jürgen K.
Geschrieben am: 14.11.2003 09:51:52

Hi Dirk,

danke für Deine Hilfe.

Wie sieht denn die Zeile dann aus, wenn Du Trunc weglässt? Bei mir funktionierts
so: Zeile = [RAND()*Max] nämilch immer noch nicht (gleicher Fehler wie bisher).
Außerdem kann der Wertebereich auch über 255 liegen, so daß ich dann Integer verwenden muß.

Gruß, Jürgen


Bild


Betrifft: AW: Variablen Typ unverträglich?
von: Dirk
Geschrieben am: 14.11.2003 10:21:19

Hallo nochmal.

Also ich hab die eckigen Klammern weggelassen, statt "Rand()" "Rnd()" verwendet und denn so: Fix(Max)

Cheers


Bild


Betrifft: AW: Variablen Typ unverträglich?
von: Jürgen K.
Geschrieben am: 14.11.2003 10:30:13

... ok, ich hab's auf etwas anderem Weg auch hinbekommen.

Nochmals Danke für den Tip!

Gruß, Jürgen


Bild

Beiträge aus den Excel-Beispielen zum Thema " Variablen Typ unverträglich?"