DESORDENAR NUMERACAO

DOMLOAD 14/07/2005 16:02:24
#94157

Olá galera ! tudo blz ?

...Preciso de ajuda com o VBA...
...Estou tentando gerar uma lista "desordenada" pra fazer combinações (numeros não se repetem na lista)... ...gostaria saber se existe alguma função que consiga fazer isto ?
...estou tentando fazer por random, mas ela sempre acaba se repetindo... [S38]

Desde já muito Obrigado !
JEAN.JEDSON 14/07/2005 19:04:03
#94190
bem... vc deveria guardar os dados gerados em um array, e quando gerar um novo código, verificar se já está na array antes de exibir
ICEMAN 14/07/2005 22:41:37
#94227
bem eu faço assim
so que ai é a pessoa quem cadastra

num evento keyascii
If KeyAscii = 13 Then

Data1.DatabaseName = App.Path & "\" & "nomedo db"
Data1.Recordset.FindFirst "campo_db like ='" & (caixatesto) & "'"

If Data1.Recordset.NoMatch Then
Data1.Recordset.AddNew
endif
endif

espero que ajude
pois a mim este código ajuda muito ele nao permite que vc cadastre duas pessoas com o mesmo nome
se vc por em cpf da do mesmo jeito
fica na sua criatividade
DOMLOAD 15/07/2005 08:21:38
#94254
Olá galera !

...os dados são jogados em uma lista em excel, agora a tarte vou tentar de uma maneira que me veio a mente...

...mas se alguém tem alguma luz ou ja fez algo parecido a qual possa me auxiliar segue um exemplo do que eu to tentando fazer...

Tenho o número máximo de combinações... no caso 10..
A coluna A é fixa...
A coluna B é a que estou tentando gerar aleatóriamente sem repetir...

Coluna A Coluna B
01 03
02 10
03 05
04 04
05 02
06 09
07 07
08 01
09 08
10 06

Desde já muito obrigado a todos !!
Um Abraço !!
TRUHILLO 15/07/2005 10:08:31
#94282
O código deste exemplo pode te ajudar:

Gerar números randà'micos sem repetir
DOMLOAD 15/07/2005 11:22:16
#94294

Ae Galera !! Tudo Blz ??

...Consegui fazer o que eu necessitava... ..obrigado pela ajuda de todos !!!
...segue o código caso alguém necessite...
...lembro que esta função diz toda no excel...

Sub aleatorios()

' Inicia Macro
'----------------------------------------------
Randomize

numeromax = Range("i10").Value
colunaor = 4
linhaor = 22
colunaa = 5
linhaa = 22

For ior = 1 + 22 To numeromax + 22

'MsgBox Cells(linhaor, colunaor).Value

numeroexp = Cells(linhaor, colunaor).Value 'numeros na sequencia
linhaor = linhaor + 1 ' soma uma linha pegando uma a baixo
linhaaleatoria = Int(Rnd * numeromax) + 1 + 22 ' cria um linha nro aleatorio para linha

volta:
If Cells(linhaaleatoria, colunaa).Value = "" And linhaaleatoria < numeromax + 22 Then

Cells(linhaaleatoria, colunaa).Value = numeroexp
'MsgBox "Numero aleatorio" & linhaaleatoria

Else
linhaaleatoria = linhaaleatoria + 1

If linhaaleatoria > numeromax + 22 Then
linhaaleatoria = 22
End If

GoTo volta

End If

Next

End Sub


Um Abraço !!!
Até a proxima !!! [S71]

PS: Vou deixar o tópico aberto até segunda para caso alguém queira comentar ou tenha alguma sugestão de melhorar esta macro...

..mais um vez muito obrigado !!

Domload
Tópico encerrado , respostas não são mais permitidas