Oppure

Loading
08/09/06 9:10
BOBSS1
Buon giorno a tutti, ho iniziato da pochi gg a studiare vb 6, per cercare di risolvere questo tipo di problema inerente ad un foglio elettronico:
Su un foglio excel, ho questo tipo di schema:

NEGOZI----B----C------D-----E-----F-----G

NEG 1-----1----18----12----170----66----9
NEG 2-----11--200-----4-----67----33----2
NEG 3-----12---75---170-----86-----9--112
NEG 4----200---17----67----199-----2---11    
NEG 5----170---86-----9----112----75---12

Tenendo presente che i parametri B,C,D,E,F,G, sono tutti valori da 1 a 200, e che i negozi possono essere anche qualche migliaio, come faccio a sapere quali sono le combinazioni presenti più frequenti, che presentano da un min. di 3 ad un max di 6 parametri uguali?

(vedi esempio qui di seguito inerente a schema riportato )

COMBINAZIONI PRESENTI----FREQUENZE
9-12- 170---------------------3    
2-200-11-67-------------------2    
75-86-112---------------------2    

Vi ringrazio per l’ospitalità, ed anche per un eventuale aiuto.
;):d:d:d;);););););)
Ultima modifica effettuata da BOBSS1 08/09/06 9:25
aaa
08/09/06 10:10
edit: ho detto una cazzata lascia stare dammi qualche ora in +



adesso non mi sono mai cimentato di far interagire vb con excel ma se riesci atrasportare i valori in delle matrici e poi fai cosi
dim x as integer
dim y as integer
dim coordinate(1 To 1000, 1 To 1000) as integer
dim quantità(1 to 200) as integer
For x = 1 to 100
for y= 1 to 100
quantità(coordinate(x,y))=quantità(coordinate(x,y))+1
next y
next x

Ultima modifica effettuata da 08/09/06 10:58
08/09/06 13:00
ok c'ho messo un bel po ma alla fine ho risolto
pultroppo non ti calcola per piu di tre combinazioni
cioè se tu vuoi sapere quantre volte quattro numeri appaiono nei mille negozi è impossibile perchè vai fuori di memoria. io ti do il calcolo per tutti e sei però ho dovuto mettere l'apice perchè altrimenti non riesce a partire.


edit: devi trovare il modo di riempire la matrice coordinate con le tue


nella form serve una listbox e un pulsante

Option Explicit
Dim x As Integer
Dim y As Integer
Dim z As Integer
Dim w As Integer
Dim k As Integer
Dim coordinate(1 To 6, 1 To 1000) As Integer
Dim combinazionida2(1 To 200, 1 To 200) As Integer
Dim combinazionida3(1 To 200, 1 To 200, 1 To 200) As Integer
'Dim combinazionida4(1 To 200, 1 To 200, 1 To 200, 1 To 200) As Integer
'Dim combinazionida5(1 To 200, 1 To 200, 1 To 200, 1 To 200, 1 To 200) As Integer
'Dim combinazionida6(1 To 200, 1 To 200, 1 To 200, 1 To 200, 1 To 200, 1 To 200) As Integer




Private Sub Command1_Click()
For y = 1 To 1000


combinazionida2(coordinate(1, y), coordinate(2, y)) = combinazionida2(coordinate(1, y), coordinate(2, y)) + 1
combinazionida2(coordinate(1, y), coordinate(3, y)) = combinazionida2(coordinate(1, y), coordinate(3, y)) + 1
combinazionida2(coordinate(1, y), coordinate(4, y)) = combinazionida2(coordinate(1, y), coordinate(4, y)) + 1
combinazionida2(coordinate(1, y), coordinate(5, y)) = combinazionida2(coordinate(1, y), coordinate(5, y)) + 1
combinazionida2(coordinate(1, y), coordinate(6, y)) = combinazionida2(coordinate(1, y), coordinate(6, y)) + 1
combinazionida2(coordinate(2, y), coordinate(3, y)) = combinazionida2(coordinate(2, y), coordinate(3, y)) + 1
combinazionida2(coordinate(2, y), coordinate(4, y)) = combinazionida2(coordinate(2, y), coordinate(4, y)) + 1
combinazionida2(coordinate(2, y), coordinate(5, y)) = combinazionida2(coordinate(2, y), coordinate(5, y)) + 1
combinazionida2(coordinate(2, y), coordinate(6, y)) = combinazionida2(coordinate(2, y), coordinate(6, y)) + 1
combinazionida2(coordinate(3, y), coordinate(4, y)) = combinazionida2(coordinate(3, y), coordinate(4, y)) + 1
combinazionida2(coordinate(3, y), coordinate(5, y)) = combinazionida2(coordinate(3, y), coordinate(5, y)) + 1
combinazionida2(coordinate(3, y), coordinate(6, y)) = combinazionida2(coordinate(3, y), coordinate(6, y)) + 1
combinazionida2(coordinate(4, y), coordinate(5, y)) = combinazionida2(coordinate(4, y), coordinate(5, y)) + 1
combinazionida2(coordinate(4, y), coordinate(6, y)) = combinazionida2(coordinate(4, y), coordinate(6, y)) + 1
combinazionida2(coordinate(5, y), coordinate(6, y)) = combinazionida2(coordinate(5, y), coordinate(6, y)) + 1

combinazionida3(coordinate(1, y), coordinate(2, y), coordinate(3, y)) = combinazionida3(coordinate(1, y), coordinate(2, y), coordinate(3, y)) + 1
combinazionida3(coordinate(1, y), coordinate(2, y), coordinate(4, y)) = combinazionida3(coordinate(1, y), coordinate(2, y), coordinate(4, y)) + 1
combinazionida3(coordinate(1, y), coordinate(2, y), coordinate(5, y)) = combinazionida3(coordinate(1, y), coordinate(2, y), coordinate(5, y)) + 1
combinazionida3(coordinate(1, y), coordinate(2, y), coordinate(6, y)) = combinazionida3(coordinate(1, y), coordinate(2, y), coordinate(6, y)) + 1
combinazionida3(coordinate(1, y), coordinate(3, y), coordinate(4, y)) = combinazionida3(coordinate(1, y), coordinate(3, y), coordinate(4, y)) + 1
combinazionida3(coordinate(1, y), coordinate(3, y), coordinate(5, y)) = combinazionida3(coordinate(1, y), coordinate(3, y), coordinate(5, y)) + 1
combinazionida3(coordinate(1, y), coordinate(3, y), coordinate(6, y)) = combinazionida3(coordinate(1, y), coordinate(3, y), coordinate(6, y)) + 1
combinazionida3(coordinate(1, y), coordinate(4, y), coordinate(5, y)) = combinazionida3(coordinate(1, y), coordinate(4, y), coordinate(5, y)) + 1
combinazionida3(coordinate(1, y), coordinate(4, y), coordinate(6, y)) = combinazionida3(coordinate(1, y), coordinate(4, y), coordinate(6, y)) + 1
combinazionida3(coordinate(1, y), coordinate(5, y), coordinate(6, y)) = combinazionida3(coordinate(1, y), coordinate(5, y), coordinate(6, y)) + 1
combinazionida3(coordinate(2, y), coordinate(3, y), coordinate(4, y)) = combinazionida3(coordinate(2, y), coordinate(3, y), coordinate(4, y)) + 1
combinazionida3(coordinate(2, y), coordinate(3, y), coordinate(5, y)) = combinazionida3(coordinate(2, y), coordinate(3, y), coordinate(5, y)) + 1
combinazionida3(coordinate(2, y), coordinate(3, y), coordinate(6, y)) = combinazionida3(coordinate(2, y), coordinate(3, y), coordinate(6, y)) + 1
combinazionida3(coordinate(2, y), coordinate(4, y), coordinate(5, y)) = combinazionida3(coordinate(2, y), coordinate(4, y), coordinate(5, y)) + 1
combinazionida3(coordinate(2, y), coordinate(4, y), coordinate(6, y)) = combinazionida3(coordinate(2, y), coordinate(4, y), coordinate(6, y)) + 1
combinazionida3(coordinate(2, y), coordinate(5, y), coordinate(6, y)) = combinazionida3(coordinate(2, y), coordinate(5, y), coordinate(6, y)) + 1
combinazionida3(coordinate(3, y), coordinate(4, y), coordinate(5, y)) = combinazionida3(coordinate(3, y), coordinate(4, y), coordinate(5, y)) + 1
combinazionida3(coordinate(3, y), coordinate(4, y), coordinate(6, y)) = combinazionida3(coordinate(3, y), coordinate(4, y), coordinate(6, y)) + 1
combinazionida3(coordinate(3, y), coordinate(5, y), coordinate(6, y)) = combinazionida3(coordinate(3, y), coordinate(5, y), coordinate(6, y)) + 1
combinazionida3(coordinate(4, y), coordinate(5, y), coordinate(6, y)) = combinazionida3(coordinate(4, y), coordinate(5, y), coordinate(6, y)) + 1

'combinazionida4(coordinate(1, y), coordinate(2, y), coordinate(3, y), coordinate(4, y)) = combinazionida4(coordinate(1, y), coordinate(2, y), coordinate(3, y), coordinate(4, y)) + 1
'combinazionida4(coordinate(1, y), coordinate(2, y), coordinate(3, y), coordinate(5, y)) = combinazionida4(coordinate(1, y), coordinate(2, y), coordinate(3, y), coordinate(5, y)) + 1
'combinazionida4(coordinate(1, y), coordinate(2, y), coordinate(3, y), coordinate(6, y)) = combinazionida4(coordinate(1, y), coordinate(2, y), coordinate(3, y), coordinate(6, y)) + 1
'combinazionida4(coordinate(1, y), coordinate(2, y), coordinate(4, y), coordinate(5, y)) = combinazionida4(coordinate(1, y), coordinate(2, y), coordinate(4, y), coordinate(5, y)) + 1
'combinazionida4(coordinate(1, y), coordinate(2, y), coordinate(4, y), coordinate(6, y)) = combinazionida4(coordinate(1, y), coordinate(2, y), coordinate(4, y), coordinate(6, y)) + 1
'combinazionida4(coordinate(1, y), coordinate(2, y), coordinate(5, y), coordinate(6, y)) = combinazionida4(coordinate(1, y), coordinate(2, y), coordinate(5, y), coordinate(6, y)) + 1
'combinazionida4(coordinate(1, y), coordinate(3, y), coordinate(4, y), coordinate(5, y)) = combinazionida4(coordinate(1, y), coordinate(3, y), coordinate(4, y), coordinate(5, y)) + 1
'combinazionida4(coordinate(1, y), coordinate(3, y), coordinate(5, y), coordinate(6, y)) = combinazionida4(coordinate(1, y), coordinate(3, y), coordinate(4, y), coordinate(6, y)) + 1
'combinazionida4(coordinate(1, y), coordinate(3, y), coordinate(4, y), coordinate(6, y)) = combinazionida4(coordinate(1, y), coordinate(3, y), coordinate(5, y), coordinate(6, y)) + 1
'combinazionida4(coordinate(1, y), coordinate(4, y), coordinate(5, y), coordinate(6, y)) = combinazionida4(coordinate(1, y), coordinate(4, y), coordinate(5, y), coordinate(6, y)) + 1
'combinazionida4(coordinate(2, y), coordinate(3, y), coordinate(4, y), coordinate(5, y)) = combinazionida4(coordinate(2, y), coordinate(3, y), coordinate(4, y), coordinate(5, y)) + 1
'combinazionida4(coordinate(2, y), coordinate(3, y), coordinate(4, y), coordinate(6, y)) = combinazionida4(coordinate(2, y), coordinate(3, y), coordinate(4, y), coordinate(6, y)) + 1
'combinazionida4(coordinate(2, y), coordinate(3, y), coordinate(5, y), coordinate(6, y)) = combinazionida4(coordinate(2, y), coordinate(3, y), coordinate(5, y), coordinate(6, y)) + 1
'combinazionida4(coordinate(2, y), coordinate(4, y), coordinate(5, y), coordinate(6, y)) = combinazionida4(coordinate(2, y), coordinate(4, y), coordinate(5, y), coordinate(6, y)) + 1
'combinazionida4(coordinate(3, y), coordinate(4, y), coordinate(5, y), coordinate(6, y)) = combinazionida4(coordinate(3, y), coordinate(4, y), coordinate(5, y), coordinate(6, y)) + 1

'combinazionida5(coordinate(1, y), coordinate(2, y), coordinate(3, y), coordinate(4, y), coordinate(5, y)) = combinazionida5(coordinate(1, y), coordinate(2, y), coordinate(3, y), coordinate(4, y), coordinate(5, y)) + 1
'combinazionida5(coordinate(1, y), coordinate(2, y), coordinate(3, y), coordinate(4, y), coordinate(6, y)) = combinazionida5(coordinate(1, y), coordinate(2, y), coordinate(3, y), coordinate(4, y), coordinate(6, y)) + 1
'combinazionida5(coordinate(1, y), coordinate(2, y), coordinate(3, y), coordinate(5, y), coordinate(6, y)) = combinazionida5(coordinate(1, y), coordinate(2, y), coordinate(3, y), coordinate(5, y), coordinate(6, y)) + 1
'combinazionida5(coordinate(1, y), coordinate(2, y), coordinate(4, y), coordinate(5, y), coordinate(6, y)) = combinazionida5(coordinate(1, y), coordinate(2, y), coordinate(4, y), coordinate(5, y), coordinate(6, y)) + 1
'combinazionida5(coordinate(1, y), coordinate(3, y), coordinate(4, y), coordinate(5, y), coordinate(6, y)) = combinazionida5(coordinate(1, y), coordinate(2, y), coordinate(4, y), coordinate(5, y), coordinate(6, y)) + 1
'combinazionida5(coordinate(2, y), coordinate(3, y), coordinate(4, y), coordinate(5, y), coordinate(6, y)) = combinazionida5(coordinate(1, y), coordinate(2, y), coordinate(4, y), coordinate(5, y), coordinate(6, y)) + 1

'combinazionida6(coordinate(1, y), coordinate(2, y), coordinate(3, y), coordinate(4, y), coordinate(5, y), coordinate(6, y)) = combinazionida6(coordinate(1, y), coordinate(2, y), coordinate(3, y), coordinate(4, y), coordinate(5, y), coordinate(6, y)) + 1
Next y
For z = 1 To 200
For k = 1 To 200
For w = 1 To 200
If Not combinazionida3(z, k, w) = 0 Then
List1.AddItem (z & "  " & k & "  " & w & "        " & combinazionida3(z, k, w))
End If
Next w
Next k
Next z

For k = 1 To 200
For w = 1 To 200
If Not combinazionida2(k, w) = 0 Then
List1.AddItem (k & "  " & w & "        " & combinazionida2(k, w))
End If
Next w
Next k


End Sub
Ultima modifica effettuata da 08/09/06 13:02
08/09/06 23:37
BOBSS1
Scusa se non ti ho risposto prima ma sono rientrato dal lavoro molto tardi per cui solo ora posso postare.
Grazie di tutto, sei veramente gentilissmo.
Come dicevo nel msg, ho iniziato da pochi gg a studiarmi vb6, per cui matrici, listbox e quant'altro sono tutte cose a me sconosciute.
Ora voglio provare a vedere se ce la faccio a venirne a capo da solo, altrimenti proverò a mandarti un e-mail se me lo permetti, allegandoti il file excel. Grazie

Bobss1
Ultima modifica effettuata da BOBSS1 08/09/06 23:39
aaa
09/09/06 16:17
ok ci sono.
c'è un enorme bug.
i valori vanno riordinati sennò ti conta 7-9 divgerso da 9-7
devi fare che li compari e li metta in oprdine crescente o decrescente. il resto è ok.

For y = 1 To 1000
For x = 2 To 6
If coordinate(1, y) > coordinate(x, y) Then
j = coordinate(1, y)
coordinate(1, y) = coordinate(x, y)
coordinate(x, y) = j
End If
Next x
For x = 3 To 6
If coordinate(2, y) > coordinate(x, y) Then
j = coordinate(2, y)
coordinate(2, y) = coordinate(x, y)
coordinate(x, y) = j
End If
Next x
For x = 4 To 6
If coordinate(3, y) > coordinate(x, y) Then
j = coordinate(3, y)
coordinate(3, y) = coordinate(x, y)
coordinate(x, y) = j
End If
Next x
For x = 5 To 6
If coordinate(4, y) > coordinate(x, y) Then
j = coordinate(4, y)
coordinate(4, y) = coordinate(x, y)
coordinate(x, y) = j
End If
Next x
If coordinate(5, y) > coordinate(6, y) Then
j = coordinate(5, y)
coordinate(5, y) = coordinate(6, y)
coordinate(6, y) = j
End If
Next y









evita l'e-mail. se riesci posta qui.
se mandi un e-mail avvisa qui.
se non mi trovi qui manda pure un'e-mail
Ultima modifica effettuata da 10/09/06 11:50
14/09/06 23:20
BOBSS1
Purtroppo non sono riuscito a mettere a frutto le tue indicazioni, e di questo me ne dispiaccio molto per il tempo che ti ho fatto perdere.
Per cui il problema è ancora irrisolto; ho trovato un modo diverso di approcciare il problema e l'ho ripostato su questo forum, intitolando il post "LOOP VB in Excel", per cui se puoi darmi una mano a risolvere il vecchio, devo mandarti il file xl, in qualche maniera o qui o via e-mail, grazie ancora e "AD MAIORA".
aaa