Condividi:        

(Excel o Word) creazione gruppi da elenco

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 o Word) creazione gruppi da elenco

Postdi mazzocchio » 22/05/12 15:59

Salve, sono nuovo di questo forum e siccome siete molto preparati e disponibili vi vorrei sottoporre un mio problema. Dico subito che non sono ferrato in excel e pertanto dovrei essere condotto passo passo, oppure qualcosa già pronto. Ma veniamo al dunque; Ho la neccessità di creare da due liste di nomi (coppie-singoli) 4-5-6-7 gruppi che io sceglierò di volta in volta.
Alcuni chiarimenti:
La lista 1 e composta da circa 30 nomi
La lista 2 è composta da circa 20 nomi
La lista 2 dovrà essere spalmata su tutti i gruppi
Dovrei avere la possibilità di scegliere quanti gruppi creare

Vi ringrazio per tutto quello che vorrete fare per me.
Moreno
mazzocchio
Utente Junior
 
Post: 13
Iscritto il: 22/05/12 15:32

Sponsor
 

Re: (Excel o Word) creazione gruppi da elenco

Postdi Flash30005 » 22/05/12 16:33

Ciao Mazzocchio e benvenuto nel Forum

Abbiamo già trattato dei quesiti simili ma visto le conoscenze di funzioni e macro di excel da te dichiarate penso sia inutile invitarti a leggere le discussioni.
Però è necessario che invii il file con gli elenchi e loro disposizione, dove vorresti i dati di output e
qualche esempio nel file stesso come raggruppare in 7 gruppi se i nomi sono 30 e 20.

Per allegare il file devi seguire questa procedura
http://www.pc-facile.com/forum/viewtopic.php?f=26&t=80395
ed avere effettuato almeno tre post (ne puoi fare due a vuoto)

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 o Word) creazione gruppi da elenco

Postdi mazzocchio » 22/05/12 18:38

Salve, il numero dei gruppi vorrei poterlo decidere di volta in volta.
Il numero dei nomi per gruppo non deve essere per forza pari, ma anche un piccolo scarto
Ti invio un allegato di esempio
I nomi li potrei scrivere nelle celle e il risultato a video con la possibilità di essere stampato.
Non è importante l'estetica ma la funzionalità
Grazie ancora
https://rapidshare.com/files/2478750232 ... gruppi.doc
mazzocchio
Utente Junior
 
Post: 13
Iscritto il: 22/05/12 15:32

Re: (Excel o Word) creazione gruppi da elenco

Postdi Flash30005 » 22/05/12 19:01

:roll: non vedo alcuna logica nella distribuzione in gruppi

Ma vuoi che i gruppi siano formate da coppie casuali, oppure vuoi decidere tu le coppie da inserire nei singoli gruppi?
Inoltre noto che il gruppo 1 è formato da 3 coppie
poi dal gruppo 2 fino al gruppo 5 ci sono due coppie e uno singolo
il sesto gruppo da 2 coppie e due singoli.
Qual'è la logica?


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 o Word) creazione gruppi da elenco

Postdi mazzocchio » 22/05/12 21:37

Provo ad essere più chiaro:
Le coppie sono 13 ed i singoli 6, anche se non mi dispiacerebbe poter modificare sia il numero delle coppie e dei singoli a mio piacimento
Vorrei avere la possibilità di scegliere il numero dei gruppi da un minimo di 4 ad un massimo di 7.

-Se dovessi scegliere la presenza di 4 gruppi, il gruppo 1, 2 e 3 dovrà essere composto da 3 coppie + 2 singoli (totale 8 persone), il gruppo 4 da 4 coppie(totale 8 persone)

-Se dovessi scegliere la presenza di 5 gruppi, il gruppo 1 e 2 dovrà essere composto da 2 coppie + 2 singoli (totale 6 persone), il gruppo 3 e 4 da 3 coppie + 1 singolo (totale 7 persone)e il gruppo 5 da 3 coppie(totale 6 persone)

-Se dovessi scegliere la presenza di 6 gruppi, il gruppo 1 dovrà essere composto da 3 coppie (totale 6 persone), i gruppi 2, 3, 4 e 5 da 2 coppie + 1 singolo(totale 5 persone) e il gruppo 6 da 2 coppie + 2 singoli (totale 6 persone)

-Se dovessi scegliere la presenza di 7 gruppi, il gruppo 1 dovrà essere composto da 1 coppia + 2 singoli (totale 4 persone), i gruppi 2, 3, 4 e 5 da 2 coppie + 1 singolo(totale 5 persone) ed i gruppi 6 e 7 da 2 coppie (totale 4 persone)

Grazie di nuovo
mazzocchio
Utente Junior
 
Post: 13
Iscritto il: 22/05/12 15:32

Re: (Excel o Word) creazione gruppi da elenco

Postdi Flash30005 » 22/05/12 22:44

Manca solo una specifica alla quale non hai risposto:
le coppie che andranno a formare i gruppi devono essere casuali o vuoi aver la possibilità di sceglierle?

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 o Word) creazione gruppi da elenco

Postdi mazzocchio » 23/05/12 18:06

Avere tutte e due le possibilità non sarebbe male.
Per intenderci: Normalmente saranno casuali, ma una procedura del tipo: Due coppie ( esempio, moreno annamaria e vittorio angela) insieme nel gruppo 1 ed il resto casuale, sarebbe interessante.
Come sempre, spero di essere stato chiaro.
A presto
mazzocchio
Utente Junior
 
Post: 13
Iscritto il: 22/05/12 15:32

Re: (Excel o Word) creazione gruppi da elenco

Postdi mazzocchio » 09/06/12 17:38

Salve , non ho più avuto risposta sulla possibilità di avere dei gruppi da un elenco, flash30005 si stava interessando ma poi non ho avuto più notizie. Spero che si faccia vivo.
Grazie ancora
Moreno
mazzocchio
Utente Junior
 
Post: 13
Iscritto il: 22/05/12 15:32

Re: (Excel o Word) creazione gruppi da elenco

Postdi Flash30005 » 10/06/12 00:27

Ciao Mazzocchio
Sono andato all'estero e il tuo post è rimasto indietro
ma anche il tuo penultimo post lascia a desiderare in tema di definizione parametri:
mazzocchio ha scritto:Normalmente saranno casuali, ma una procedura del tipo: Due coppie ( esempio, moreno annamaria e vittorio angela) insieme nel gruppo 1 ed il resto casuale, sarebbe interessante.

Significa che nemmeno tu sai cosa è necessario fare?
Come pensi si possa giungere ad una meta se non si definisce il punto da raggiungere?
Il "sarebbe interessante" mi preoccupa molto... :undecided:

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 o Word) creazione gruppi da elenco

Postdi mazzocchio » 10/06/12 08:49

Ciao, hai perfettamente ragione
Il "sarebbe interessante" mi preoccupa molto...
.
Cercherò di spiegarmi.
L'elenco di persone è formato da coppie e singoli.
L'elenco dovrà essere variabile da 0 a 15 coppie e da 0 a 15 singoli
Da questo elenco si dovranno creare 4,5,6,7 o 8 gruppi. A mia scelta.
Le coppie andranno divise in parti uguali nei gruppi. Se dalla divisione uno o più gruppi risultassero essere con un numero di coppie differenti, non sarebbe un problema.
I singoli andranno divisi in parti uguali nei gruppi. Se dalla divisione uno o più gruppi risultassero essere con un numero di singoli differenti, non sarebbe un problema.
Il risultato dovrà essere pronto alla stampa, ma con la possibilità di fare delle piccole correzioni in modo manuale (per esempio: scambiare due persone da un gruppo ad un'altro).
Grazie per la pazienza.
A presto
Moreno
mazzocchio
Utente Junior
 
Post: 13
Iscritto il: 22/05/12 15:32

Re: (Excel o Word) creazione gruppi da elenco

Postdi Flash30005 » 10/06/12 20:47

Sto approntando la macro che, devo dire, è alquanto complessa soprattutto per le diverse tipologie/combinazioni da te indicate per il numero di gruppi ma mi sono accorto che ancora non hai definito la meta da raggiungere perché nei primi post hai indicato come massimo numero gruppi pari a 7 (da 4 gruppi a 7) specificando gruppo per gruppo la distribuzione coppie/singoli, mentre ora hai inserito anche un ottavo gruppo.
Pertanto mi fermo fino a quando non chiarirai questa nuova specifica.

Pensa bene a tutte le specifiche che darai sin da ora per ottenere il risultato voluto,
perché non ho alcuna intenzione di intervenire nella modifica del codice, una volta finito il programma.


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 o Word) creazione gruppi da elenco

Postdi mazzocchio » 11/06/12 21:00

Ciao, ti ringrazio ancora una volta della tua disponibilità, ma non mi aspettavo che fosse così complicato e quanto io fossi impreparato.
Veniamo al punto.
L'ultimo post e da considerare quello definitivo.
I gruppi dovranno essere 4,5,6,7,8. A mia scelta.
La distribuzione coppie/singoli che ti ho elencato nel post del 22/05/12 non considerarlo.
Grazie ancora per quello che vorrai fare.
Moreno
mazzocchio
Utente Junior
 
Post: 13
Iscritto il: 22/05/12 15:32

Re: (Excel o Word) creazione gruppi da elenco

Postdi Flash30005 » 11/06/12 21:02

E 8 gruppi come li suddividi in coppie e singoli?

Nel tuo post definitivo non è specificato!
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 o Word) creazione gruppi da elenco

Postdi mazzocchio » 11/06/12 21:07

Sono in crisi!
7 gruppi sono sufficienti.
mazzocchio
Utente Junior
 
Post: 13
Iscritto il: 22/05/12 15:32

Re: (Excel o Word) creazione gruppi da elenco

Postdi Flash30005 » 11/06/12 21:14

Io avrei trovato questa combinazione
Codice: Seleziona tutto
N Gruppi   Comb1.   Coppie   Sing   Comb2   Coppie   Singoli   Comb2   Coppie   Singoli
8            1          2      0    2.3.4.5   2         0      6.7.8     1       2


Se ti va bene procedo e tra 5 minuti avrai la macro e il file
perché fino a 7 era completato, aggiungo questa modifica dopo il tuo Ok

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 o Word) creazione gruppi da elenco

Postdi mazzocchio » 11/06/12 21:22

Ok, procedi.
mazzocchio
Utente Junior
 
Post: 13
Iscritto il: 22/05/12 15:32

Re: (Excel o Word) creazione gruppi da elenco

Postdi Flash30005 » 11/06/12 21:39

Segui attentamente come dovrai impostare i fogli e i dati su di essi nel file:
1) per far funzionare la macro che posterò avrai bisogno di due fogli
uno con nome Elenco, l'altro con nome Gruppi
2) Nel foglio elenco dovrai avere Riga 1 la testata quindi in A1 scrivi "N", in "B1:C1" che unirai scriverai "Coppie", in E1 scriverai "Singoli"
3) Da A2 a A14 numeri sequenziali da 1 a 14 (non necessari ma servono per avere subito il numero delle coppie)
estremamente necessario invece è avere le coppie es.: in B2 "moreno" e C2 "annamaria"
quindi le coppie saranno elencate da B2 a C14
4) la colonna D deve essere vuota
5) nella cella E2 seguirà l'elenco dei Singoli E2 inserirai "alfredo", E3 roberta etc fino a E7 (silvia)
6) ora in G1 scrivi il testo "N. Gruppi" e in G2 inserirai una convalida con elenco di questo tipo
Codice: Seleziona tutto
4;5;6;7;8

Così avrai la possibilità di scegliere la quantità di gruppi da 4 a 8
7) Nel foglio Gruppi potrai formattare le celle A1:B6 con bordo intermedio (fino) e poi bordatura doppia unendo solo le celle A1 e B1
8 ) copi questa formattazione per 7 volte lasciando una colonna (la C nella prima copia)
quindi copi il formato A1:B6 e lo incolli in D1:E6, poi in G1:H6 etc fino a V1:W6
ora puoi incollare questa macro in un modulo
Codice: Seleziona tutto
Sub Distribuzione()
Set Ws1 = Sheets("Elenco")
Set Ws2 = Sheets("Gruppi")
NGr = Ws1.[G2]
Comb1 = 0
Comb2 = 0
Comb3 = 0
Coppie1 = 0
Coppie2 = 0
Coppie3 = 0
Sing1 = 0
Sing2 = 0
Sing3 = 0

Select Case NGr
Case 4
    Comb1 = 3
    Comb2 = 1
    Comb3 = 0
    Coppie1 = 3
    Coppie2 = 4
    Coppie3 = 0
    Sing1 = 2
    Sing2 = 0
    Sing3 = 0
Case 5
    Comb1 = 2
    Comb2 = 2
    Comb3 = 1
    Coppie1 = 2
    Coppie2 = 3
    Coppie3 = 3
    Sing1 = 2
    Sing2 = 1
    Sing3 = 0
Case 6
    Comb1 = 1
    Comb2 = 4
    Comb3 = 1
    Coppie1 = 3
    Coppie2 = 2
    Coppie3 = 2
    Sing1 = 0
    Sing2 = 1
    Sing3 = 2
Case 7
    Comb1 = 1
    Comb2 = 4
    Comb3 = 2
    Coppie1 = 1
    Coppie2 = 2
    Coppie3 = 2
    Sing1 = 2
    Sing2 = 1
    Sing3 = 0
Case 8
    Comb1 = 1
    Comb2 = 4
    Comb3 = 3
    Coppie1 = 2
    Coppie2 = 2
    Coppie3 = 1
    Sing1 = 0
    Sing2 = 0
    Sing3 = 2
Case Else
    Exit Sub
End Select

Ws2.Cells.ClearContents
Ws1.Range("D2:D14").ClearContents
Ws1.Range("F2:F7").ClearContents
Dim VC(13) As Integer
Dim VS(6) As Integer
NCR = 0
NSR = 0
InizioR:
If NCR = 13 Then GoTo EsciR
For RN = 1 To 13
NC = Int(Rnd(13) * 13) + 1
If Ws1.Range("D" & NC + 1) <> "" Then GoTo InizioR
Ws1.Range("D" & NC + 1) = NC
NCR = NCR + 1
VC(NCR) = NC
Next RN
EsciR:

InizioRS:
If NSR = 6 Then GoTo EsciRS
For RN = 1 To 6
NS = Int(Rnd(6) * 6) + 1
If Ws1.Range("F" & NS + 1) <> "" Then GoTo InizioRS
Ws1.Range("F" & NS + 1) = NS
NSR = NSR + 1
VS(NSR) = NS
Next RN
EsciRS:

CG = 1
SG = 1
NAGr = 0
For NCB1 = 1 To Comb1
    Col = 1 + (NCB1 - 1) * 3
    NAGr = NAGr + 1
    Ws2.Cells(1, Col).Value = "Gruppo " & NAGr
    For NCopp1 = 1 To Coppie1
        URG = Ws2.Cells(Rows.Count, Col).End(xlUp).Row + 1
        If CG < 14 Then
            Ws2.Cells(URG, Col).Value = Ws1.Cells(VC(CG) + 1, 2).Value
            Ws2.Cells(URG, Col + 1).Value = Ws1.Cells(VC(CG) + 1, 3).Value
            CG = CG + 1
        End If
    Next NCopp1
    For NSing1 = 1 To Sing1
        URG = Ws2.Cells(Rows.Count, Col).End(xlUp).Row + 1
        If SG < 7 Then
            Ws2.Cells(URG, Col).Value = Ws1.Cells(VS(SG) + 1, 5).Value
            SG = SG + 1
        End If
    Next NSing1
Next NCB1

For NCB2 = 1 To Comb2
    Col = 1 + (NCB1 - 1) * 3 + (NCB2 - 1) * 3
    NAGr = NAGr + 1
    Ws2.Cells(1, Col).Value = "Gruppo " & NAGr
    For NCopp2 = 1 To Coppie2
        URG = Ws2.Cells(Rows.Count, Col).End(xlUp).Row + 1
        If CG < 14 Then
            Ws2.Cells(URG, Col).Value = Ws1.Cells(VC(CG) + 1, 2).Value
            Ws2.Cells(URG, Col + 1).Value = Ws1.Cells(VC(CG) + 1, 3).Value
            CG = CG + 1
        End If
    Next NCopp2
    For NSing2 = 1 To Sing2
        URG = Ws2.Cells(Rows.Count, Col).End(xlUp).Row + 1
        If SG < 7 Then
            Ws2.Cells(URG, Col).Value = Ws1.Cells(VS(SG) + 1, 5).Value
            SG = SG + 1
        End If
    Next NSing2
Next NCB2

For NCB3 = 1 To Comb3
    Col = 1 + (NCB1 - 1) * 3 + (NCB2 - 1) * 3 + (NCB3 - 1) * 3
    NAGr = NAGr + 1
    Ws2.Cells(1, Col).Value = "Gruppo " & NAGr
    For NCopp3 = 1 To Coppie3
        URG = Ws2.Cells(Rows.Count, Col).End(xlUp).Row + 1
        If CG < 14 Then
            Ws2.Cells(URG, Col).Value = Ws1.Cells(VC(CG) + 1, 2).Value
            Ws2.Cells(URG, Col + 1).Value = Ws1.Cells(VC(CG) + 1, 3).Value
            CG = CG + 1
        End If
    Next NCopp3
    For NSing3 = 1 To Sing3
        URG = Ws2.Cells(Rows.Count, Col).End(xlUp).Row + 1
        If SG < 7 Then
            Ws2.Cells(URG, Col).Value = Ws1.Cells(VS(SG) + 1, 5).Value
            SG = SG + 1
        End If
    Next NSing3
Next NCB3

    Ws1.Range("D2:D14").ClearContents
    Ws1.Range("F2:F7").ClearContents
End Sub


Per farla attivare in automatico devi inserire queste due righe di codice nel vba del foglio "Elenco"
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$G$2" Then Exit Sub
Distribuzione
Sheets("Gruppi").Select
End Sub


Salvi il file e poi cambia il valore del gruppo in G2, e... :)

Comunque capisco che distribuire i dati secondo specifiche si può errare pertanto allego il file già funzionante ;)

download file completo

Fai sapere
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 o Word) creazione gruppi da elenco

Postdi mazzocchio » 11/06/12 21:54

GRAZIE TANTE.
Ora è tardi, domani non so se faccio in tempo ma ti farò sapere al più presto.
Grazie di nuovo
Moreno
mazzocchio
Utente Junior
 
Post: 13
Iscritto il: 22/05/12 15:32

Re: (Excel o Word) creazione gruppi da elenco

Postdi mazzocchio » 16/06/12 16:13

ciao Flash30005,
innanzi tutto GRAZIE, GRAZIE, GRAZIE.
Funziona tutto, semplicemente e perfettamente.
Avrei ancora una piccola richiesta da fare. Ricordo bene che mi hai detto che non avresti fatto modifiche, però io ti chiedo ugualmente (per favore) di modificare il foglio gruppi in modo che la stampa possa essere eseguita su un unico foglio.
Pensavo di mettere 3 gruppi per ogni fila, così che si sviluppassero in senso verticale entrando in un foglio A4.
Spero di non chiederti troppo ma ho fiducia nella tua pazienza e competenza.
Grazie di nuovo per tutto quello che fai.
A presto
mazzocchio
Utente Junior
 
Post: 13
Iscritto il: 22/05/12 15:32

Re: (Excel o Word) creazione gruppi da elenco

Postdi Flash30005 » 16/06/12 17:00

Infatti non metterò più le mani nella macro che crea i gruppi ma aggiungo una macro che sistema i gruppi a tre per riga
quindi lasciando invariata la precedente macro inserisci nello stesso modulo questa macro
Codice: Seleziona tutto
Sub SpostaGr()
    Range("A8:H20").Clear
    Range("J1:Q6").Cut Destination:=Range("A8")
    Range("S1:Z4").Cut Destination:=Range("A15")
    Range("A1:H6").Copy
    Range("A8:H13").PasteSpecial Paste:=xlPasteFormats
    Range("A15:H20").PasteSpecial Paste:=xlPasteFormats
    Application.CutCopyMode = False
    Range("A1").Select
End Sub


Poi nel vba del foglio dove hai già due righe di codici aggiungi il richiamo alla macro
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$G$2" Then Exit Sub
Distribuzione
Sheets("Gruppi").Select
SpostaGr   '<<<< aggiungi questa voce
End Sub


Ciao
Ps. se hai problemi a far entrare i tre gruppi per pagina puoi modificare i margini (sn e dx) portandoli a 1 invece di 2
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-


Torna a Applicazioni Office Windows


Topic correlati a "(Excel o Word) creazione gruppi da elenco":


Chi c’è in linea

Visitano il forum: Nessuno e 18 ospiti