Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

numeri casuali macro excel

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

numeri casuali macro excel

Postdi mezze » 21/04/12 06:23

Ciao a tutti
qualcuno può suggerirmi come si crea una semplice macro con excel per fargli generare numeri casuali
(ad esempio fargli scegliere 5 numeri a caso da una "griglia" 10 x 10)
Grazie dell'aiuto
Ciao
mezze
Newbie
 
Post: 3
Iscritto il: 21/04/12 06:14

Sponsor
 

Re: numeri casuali macro excel

Postdi Zer0Kelvin » 21/04/12 13:29

Ciao, dai un'occhiata a questo:
Codice: Seleziona tutto
Option Explicit

Public Function Random(limiteinf As Long, limitesup As Long) As Long
    Random = Int((limitesup - limiteinf + 1) * Rnd + limiteinf)
End Function

Public Function RandomCell(intervallo As Range) As Variant
Dim riga As Long, colonna As Long
    With intervallo
        colonna = Random(1, .Columns.Count)
        riga = Random(1, .Rows.Count)
        RandomCell = .Cells(riga, colonna)
    End With
End Function

alla funzione devi fornire un intervallo di celle (es A1:F10) e restituisce il valore di una cella a caso dell'intervallo :arrow: ...
[Win7,Office2010]
Condividere la conoscenza aumenta la ricchezza di tutti(Z0°K)
Dai ad un uomo un pesce e lo avrai sfamato per un giorno;insegnagli a pescare e lo avrai sfamato per sempre(Confucio)
Il sonno della ragione genera mostri(Francisco Goya)
Avatar utente
Zer0Kelvin
Utente Senior
 
Post: 305
Iscritto il: 08/04/12 11:23

Re: numeri casuali macro excel

Postdi mezze » 21/04/12 19:02

ci provo grazie ciao
mezze
Newbie
 
Post: 3
Iscritto il: 21/04/12 06:14

Re: numeri casuali macro excel

Postdi Anthony47 » 21/04/12 20:59

Ciao mezze, benvenuto nel forum.
Z0K ha fatto di tutto per semplificarti la vita, ora devi solo scrivere nella cella dove vuoi un valore casuale
Codice: Seleziona tutto
=randomcell(F4:O13)
Ovviamente invece di F4:O13 userai il tuo intervallo.
Insomma non puoi sbagliare.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13904
Iscritto il: 21/03/06 16:03
Località: Ivrea

ancora macro excel

Postdi mezze » 01/05/12 18:31

Ciao a tutti
ringrazio chi mi ha scritto ma non sono riuscito a combinare praticamente nulla...
Allora ci riprovo e cerco di spiegarmi meglio
devo fare una semplice applicazione di statistica per ottenere la selezione di 5 numeri a caso fra quelli scritti qua sotto
che sono 95 più 5 caselle vuote ordinati in un foglio excel, 10 righe per 10 colonne (vale a dire, non voglio che mi selezioni i primi 5 valori che sono misure non significative e quindi che non voglio scegliere).
Questi 5 numeri che indicano misure rilevate nel mio caso (per esempio 1,20,34,77,78 oppure 8,26,50,70,94 eccetera) dovrebbero apparire in un secondo foglio excel oppure in un nuovo file o, se è più semplice, in questo stesso file ma
in righe successive (per esempio)
Vi ringrazio in anticipo per la pazienza e per la passione che ci mettete in questi argomenti.
Vi chiedo anche, se non è troppo, come indicare correttamente gli intervalli da usare, le celle ecc... altrimenti continuo a "incartarmi"...
Ciao



1 2 3 4 5
6 7 8 9 10 11 12 13 14 15
16 17 18 19 20 21 22 23 24 25
26 27 28 29 30 31 32 33 34 35
36 37 38 39 40 41 42 43 44 45
46 47 48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63 64 65
66 67 68 69 70 71 72 73 74 75
76 77 78 79 80 81 82 83 84 85
86 87 88 89 90 91 92 93 94 95
mezze
Newbie
 
Post: 3
Iscritto il: 21/04/12 06:14

Re: ancora macro excel

Postdi Zer0Kelvin » 01/05/12 19:48

Ciao.
La risposta di per sè è semplice, il vero problema è come la vuoi usare.
Ecco un esempio:
Codice: Seleziona tutto
Public Function RandomCellValue() As Variant
Dim riga As Long, colonna As Long
    Do
        riga = Int(10 * Rnd + 1)
        colonna = Int(10 * Rnd + 1)
    Loop Until riga > 1 Or (riga = 1 And colonna > 5) 'scarta i valori nelle celle A1:E1
    RandomCellValue = Range("A1").Cells(riga, colonna).Value '<== supponendo che la tabella cominci in A1
End Function

Sub test()
Dim i As Long
    For i = 1 To 5
        Cells(i, 12).Value = RandomCellValue 'restituisce 5 valori in colonna L
    Next i
End Sub
La funzione randomCellValue restituisce un valore a caso prelevato dall'intervallo A1:J10.
Se la tabella si trova in altra posizione è sufficiente scrivere, al posto di "A1", la cella in alto a sinistra dell'intervallo.
se devi lavorare su più fogli è opportuno che i riferimenti a celle siano preceduti dal riferimento al foglio.
Se la tabella è in un foglio che si chiama Pippo,
Codice: Seleziona tutto
Range("A1")
diventa
Codice: Seleziona tutto
Sheets("Pippo").Range("A1")
Quando devi lavorare su una serie di celle in righe o colonne la proprietà cells è molto comoda.
Spero di essere stato chiaro! :)
[Win7,Office2010]
Condividere la conoscenza aumenta la ricchezza di tutti(Z0°K)
Dai ad un uomo un pesce e lo avrai sfamato per un giorno;insegnagli a pescare e lo avrai sfamato per sempre(Confucio)
Il sonno della ragione genera mostri(Francisco Goya)
Avatar utente
Zer0Kelvin
Utente Senior
 
Post: 305
Iscritto il: 08/04/12 11:23

Re: numeri casuali macro excel

Postdi Flash30005 » 02/05/12 06:20

Ciao Mezze e benvenuto anche da parte mia

Se i numeri sono sequenziali come riportato dal tuo schema non credo sia necessario "pescarli" all'interno di un'area
potresti quindi utilizzare una macro di questo tipo
Codice: Seleziona tutto
Sub Casuale()
Columns("A:E").ClearContents
For RR = 1 To [I2]
For CC = 1 To 5
Ini:
Ncas = Int(Rnd([L2]) * [L2]) + 1
If Ncas < [K2] Then GoTo Ini
If CC > 1 Then
For CCC = 1 To CC - 1
If Cells(RR, CCC).Value = Ncas Then GoTo Ini
Next CCC
End If
Cells(RR, CC).Value = Ncas
Next CC
Next RR
End Sub


Questa macro lavora con dei parametri
in I2 inserisci quante serie (righe) da 5 numeri casuali desideri avere
In K2 inserisci il valore minimo (1)
in L2 il valore massimo (95)

Avvi la macro con un comando qualsiasi

Allego file esempio

Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-


Torna a Applicazioni Office Windows


Topic correlati a "numeri casuali macro excel":


Chi c’è in linea

Visitano il forum: patel e 13 ospiti