Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
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:
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 )
Vi ringrazio per l’ospitalità, ed anche per un eventuale aiuto.
Ultima modifica effettuata da BOBSS1 il 08/09/2006 alle 11:25
()
Newbie
Messaggi: Iscritto:
Postato alle 12:10
Venerdì, 08/09/2006
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 il 08/09/2006 alle 12:58
()
Newbie
Messaggi: Iscritto:
Postato alle 15:00
Venerdì, 08/09/2006
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
Codice sorgente - presumibilmente VB.NET
Option Explicit
Dim x AsInteger
Dim y AsInteger
Dim z AsInteger
Dim w AsInteger
Dim k AsInteger
Dim coordinate(1 To 6, 1 To 1000)AsInteger
Dim combinazionida2(1 To 200, 1 To 200)AsInteger
Dim combinazionida3(1 To 200, 1 To 200, 1 To 200)AsInteger
'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
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 il 09/09/2006 alle 1:39
()
Newbie
Messaggi: Iscritto:
Postato alle 18:17
Sabato, 09/09/2006
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.
Codice sorgente - presumibilmente VB.NET
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
EndIf
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
EndIf
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
EndIf
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
EndIf
Next x
If coordinate(5, y) > coordinate(6, y)Then
j = coordinate(5, y)
coordinate(5, y)= coordinate(6, y)
coordinate(6, y)= j
EndIf
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 il 10/09/2006 alle 13:50
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".