Condividi:        

[EXCEL]Aiuto per creare macro combinazione prodotti

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

[EXCEL]Aiuto per creare macro combinazione prodotti

Postdi alexio22 » 27/09/13 16:28

Buongiorno a tutti!
Mi chiamo Alessio e avrei disperatamente bisogno del vostro aiuto per creare una macro che mi generi su un altro foglio le varie combinazioni tra vari prodotti!
Cerco di spiegarmi al meglio:
Allora io sul foglio1 di Excel ho questi componenti per assemblare un pc:
WD5000AZRX 500gb
HDD WD Blue 3.5" SATA3 1TB 64MB 7200
HDD WD Green 3.5" SATA3 2TB 64MB Intellipower
GEIL 4GB PC3 10660 1333MHz Bulk pack 9-9-9
GEIL 2GB PC3-10660 1333MHz Bulk Pack 9-9-9-
DVD RW LG GH24NS95 BLACK SATA Bulk
SV Asus GF210 TC1GB DDR3 DVI HDMI DP HDCP Passive
SV Asus GT610 2GB DDR3 DVI HDMI DP HDCP Passive
SV Point Of View GeForce GT630 PCI-E 4GB SDDR3 DVI/VGA/HDMI
SV Sapphire HD5450 HM PCI-E VGA/ DVI-I / VGA W/ 1G DDR3 VRAM
SV Sapphire HD6450 2G DDR3 PCI-E HDMI DVI-D VGA LITE
SV Sapphire HD6570 4G DDR3 PCI-E HDMI/DVI-D/VGA
cooler master n300
itek500
intel g470
h61-m

Quello che voglio ottenere nel foglio 2 sono tutte le combinazioni possibili ed univoche tra questi componenti.... è possibile farlo?
Vi ringrazio!
alexio22
Newbie
 
Post: 3
Iscritto il: 27/09/13 16:19

Sponsor
 

Re: [EXCEL]Aiuto per creare macro combinazione prodotti

Postdi Flash30005 » 27/09/13 21:37

Ciao Alexio22 e benvenuto nel Forum

Purtroppo un Pc non sa di quali componenti è costituito :D
pertanto dovresti dare un codice che definisca il prodotto
esempio:
per l'HD 1
per le memorie 2
per la scheda video 3
etc
etc
dopodiché si può pensare ad un programma che faccia le dovute o tutte le combinazioni di 1,2 e 3

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [EXCEL]Aiuto per creare macro combinazione prodotti

Postdi alexio22 » 30/09/13 16:48

Ok ti ringrazio!
Allora sul primo foglio di Excel posso fare dei gruppi; esempio:
Gruppo 1 (Diversi modelli di processori)
Intel modello 1
intel modello 2
intel modello 3
etc....
Gruppo 2 (ram)
ram modello 1
ram modello 2
ram modello 3
Gruppo 3 (hard disk)
Hard disk modello 1
hard disk modello 2
hard disk modello 3
gruppo 4 (scheda video)
scheda 1
scheda 2
scheda 3

Poi nel foglio 2 dovrei dire ad Excel di scegliere un componente di ogni gruppo per crearmi la configurazione...si può fare?

Grazie!

P.s: non voglio perforza usare Excel,.....mi va bene un qualsiasi programma che mi generi delle configurazioni....
alexio22
Newbie
 
Post: 3
Iscritto il: 27/09/13 16:19

Re: [EXCEL]Aiuto per creare macro combinazione prodotti

Postdi ricky53 » 30/09/13 17:16

Ciao,
l'assemblaggio è sicuramente legato alla compatibilità tra i vari componenti, quindi, è necessario avere dei legami tra uno e l'altro ed anche quelli che non sono compatibili.
Non tutti i microprocessori possono essere montati su una specifica MB, oppure le RAM.

Tutto questo per dirti che la scelta dei componenti dei PC NON può essere casuale

Tu cosa vuoi ottenere effettivamente?
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: [EXCEL]Aiuto per creare macro combinazione prodotti

Postdi alexio22 » 30/09/13 22:05

Si lo so, ma tutti i componenti che sceglierò saranno compatibili tra di loro, quindi il problema non si pone. ;)
alexio22
Newbie
 
Post: 3
Iscritto il: 27/09/13 16:19

Re: [EXCEL]Aiuto per creare macro combinazione prodotti

Postdi ricky53 » 30/09/13 22:36

Ciao,
allora, se li scegli tu, non ho capito la generazione casuale dei componenti.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: [EXCEL]Aiuto per creare macro combinazione prodotti

Postdi Anthony47 » 01/10/13 03:26

Per quello che ho capito:
-creati in un foglio l' elenco dei componenti, elencandoli per Categoria in N colonne adiacenti, a partire da A1. In Riga 1 scrivi la categoria, nelle righe sottostanti, per ogni Categoria, scrivi le possibili alternative.
Esempio:
Immagine

Uploaded with ImageShack.us
Le colonne devono essere adiacenti, e affiancate da una colonna vuota
In ogni colonna, i dati devono essere scritti senza celle vuote.

Poi usa questa macro:
Codice: Seleziona tutto
Dim myList(), Items As Long, ListInd As Long, myCount()
Sub Mux()
Dim Sorg As String, I As Long, ListRows As Long, SubItem As Long

Sorg = "Foglio1"        '<<< Il foglio con l' elenco dei componenti; vedi testo
outlist = "Foglio2"     '<<< Il foglio dove sara' generato l' elenco delle combinazioni
ListRows = 1
With Sheets(Sorg)
    Items = .Range("A1").CurrentRegion.Columns.Count
    ReDim myCount(1 To Items)
        For I = 0 To Items - 1
            SubItem = (Application.WorksheetFunction.CountA(.Range("A:A").Offset(0, I)) - 1)
            myCount(I + 1) = SubItem
            ListRows = ListRows * SubItem
        Next I
End With
'
ReDim myList(1 To ListRows + 1, 1 To Items)
ListInd = 1
Call myX(1, Sheets(Sorg).Range("a1").CurrentRegion)
Sheets(outlist).Cells.ClearContents
Sheets(outlist).Range("A1").Resize(1, Items).Value = Sheets(Sorg).Range("A1").Resize(1, Items).Value
Sheets(outlist).Range("A2").Resize(ListRows, Items).Value = myList()
End Sub


Sub myX(ByVal H As Long, ByRef STab As Range)
Dim I As Long, J As Long, K As Long
'
For I = 1 To myCount(H)
    myList(ListInd, H) = STab(I + 1, H)
    If H < Items Then
        Call myX(H + 1, STab)
    Else
        ListInd = ListInd + 1
        For K = 1 To H - 1
            myList(ListInd, K) = myList(ListInd - 1, K)
        Next K
    End If
Next I

End Sub

Da excel, Alt-F11 per aprire l' editor delle macro; Menu /Inserisci /Modulo; copia il codice e incollalo nel frame di destra; personalizza le istruzioni marcate <<<
Tieni presente che il contenuto del foglio che indicherai come "outlist" sara' CANCELLATO SENZA PREAVVISO per creare un elenco pulito con le combinazioni possibili.

Torna su Excel, compila l' elenco dei componenti come descritto sopra; lancia infine la macro e vedi il risultato.

Fai sapere, ciao.
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "[EXCEL]Aiuto per creare macro combinazione prodotti":


Chi c’è in linea

Visitano il forum: Nessuno e 56 ospiti