Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Ciao Dario,
UPDATE:
sostituendo la parte di copia su foglio con il seguente codice, funziona.
For i = 1 To Massimo
SH.Cells(10 + i, 5).Value = Cas1(i)
Next
For i = 1 To Massimo
SH.Cells(10 + i, 8).Value = Cas2(i)
Next
Il problema con il tuo codice originale riguardava un limite relativo alla funzione MATR.TRASPOSTA.
Il tuo nuovo codice funzionerà ma sarà inutilmente lento. Per superare il problema originale, prova il seguente adattamento del tuo codice:
'========>>
Option Explicit
'-------->>
Private Sub Genera_Casuale()
Dim SH As Worksheet
Dim Rng1 As Range, Rng2 As Range
Dim Cas1() As Variant, Cas2() As Variant
Dim Seed1, Seed2
Dim k As Long
Const Massimo As Long = 99990
Const Ultriga As Long = 100000
Set SH = ThisWorkbook.Worksheets("Scelta\_OF\_SCR\_softlimit")
With SH
Set Rng1 = .Range("E11:E" & Ultriga)
Set Rng2 = .Range("H11:H" & Ultriga)
Seed1 = .Range("X10").Value
Seed2 = .Range("X11").Value
End With
Rnd (-Seed1)
ReDim Cas1(1 To Massimo, 1 To 1)
For k = 1 To Massimo
Cas1(k, 1) = Rnd() - 0.5
Next k
Rnd (-Seed2)
ReDim Cas2(1 To Massimo, 1 To 1)
For k = 1 To Massimo
Cas2(k, 1) = Rnd() - 0.5
Next k
Rng1.Value = Cas1
Rng2.Value = Cas2
End Sub
'<<========
===
Regards,
Norman