Condividi:        

Distinta calcio con Excel 2007

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

Distinta calcio con Excel 2007

Postdi clarki » 14/09/16 22:36

Ciao a tutti, sono nuovo qui ed abbastanza inesperto....
Ho visto diversi topic simili a questo, ma sono datati e non corrispondono alle mie necessità.
Confido nel vs aiuto....

Allego il file che dovrei utilizzare (link valido 7 gg.)

https://we.tl/esoESRc3pq

Ci sono 4 fogli di lavoro: distinta, calciatori, dirigenti e report
Nei fogli calciatori e dirigenti, devo assegnare il numero di maglia inserendolo nella colonna verde.
In pratica se inserisco il numero 1 nel foglio calciatori, cella A7, il contenuto delle celle da D7 a Z7 (stesso foglio) deve essere copiato nelle celle da D15 a Z15 del foglio distinta e nelle celle D3 ed E3 del foglio report e così via con i numeri fino al 18.
In pratica, nel foglio calciatori, assegnando il numero di maglia nella colonna verde, si compila automaticamente la distinta ed il report

Infine dovrei creare uan macro collegata ad un "bottone" che lanci la stampa della distinta

Spero di essere stato chiaro e ringrazio in anticipo per le risposte.

Clarki
clarki
Newbie
 
Post: 5
Iscritto il: 14/09/16 22:12

Sponsor
 

Re: Distinta calcio con Excel 2007

Postdi raimea » 15/09/16 06:28

ciao

dai un occhio a questo file ,
vedi se con piccoli accorgimenti
potrebbe gia andare bene tue esigenze

http://lnx.lelugarine.eu/download/calcio/

ciao
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Re: Distinta calcio con Excel 2007

Postdi clarki » 15/09/16 10:16

Ti ringrazio, l'avevo già visto, ma a me per esempio non interessano le finestrelle a cascata sulla destra per la scelta dei nomi.
Io avrei bisogno che, inserendo il numero di maglia, l'anagrafica sulla riga corrispondente, venga inserita nella distinta.
Grazie cmq
clarki
Newbie
 
Post: 5
Iscritto il: 14/09/16 22:12

Re: Distinta calcio con Excel 2007

Postdi Anthony47 » 15/09/16 11:49

Purtroppo non si capisce che cosa va copiato nel foglio REPORT, quindi per ora queste macro compilano solo il foglio DISTINTA:
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
'
If Target.Column = 1 And Target.Count = 1 And Target.Value <> "" Then
    mymatch = Application.Match(Target.Value, Sheets("distinta").Range("C15:C50"), 0)
    If IsError(mymatch) Then
        MsgBox ("Maglia inesistente in DISTINTA; correggi e riprova")
    Else
    Sheets("distinta").Cells(14 + mymatch, 4).Resize(1, 23).Value = _
        Target.Offset(0, 3).Resize(1, 23).Value
    'copia in report: boh?
    End If
End If
End Sub

Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
'
If Target.Column = 1 And Target.Count = 1 And Target.Value <> "" Then
    mymatch = Application.Match(Target.Value, Sheets("distinta").Range("A15:A50"), 0)
    If IsError(mymatch) Then
        MsgBox ("Maglia inesistente in DISTINTA; correggi e riprova")
    Else
    Sheets("distinta").Cells(14 + mymatch, 7).Resize(1, 23).Value = _
        Target.Offset(0, 6).Resize(1, 23).Value
    'copia in report: boh?
    End If
End If
End Sub


Operativamente, partendo da Excel:
-tasto dx sul tab col nome foglio CALCIATORE
-scegliere Visualizza codice, e si apre l'editor delle macro
-copiare la prima macro e inserirla nel frame vuoto di destra
-ripetere col tab del foglio DIRIGENTI e inserire la seconda macro

A questo punto, compilando la numerazione su foglio CALCIATORE e su foglio DIRIGENTI si compilera' l'elenco in DISTINTA.
Il file andra' poi salvato in formato "macro enabled", cioe' xlsm.

Quanto alla macro per stampare, la creerai con la procedura di Registra macro; per le informazioni di base vedi qui: viewtopic.php?f=26&t=103893&p=622593#p622593
Poi inserisci un pulsante (Menu /tab Sviluppo; Gruppo Controlli, Inserisci; scegliere Controllo modulo, Pulsante) e gli associ la macro prima autoregistrata.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Distinta calcio con Excel 2007

Postdi clarki » 15/09/16 14:17

Grazie mille, sei un mago !!!!
Una volta inserito il numero di maglia nel foglio CALCIATORI, oltre a copiare tutta l'anagrafica in DISTINTA, dovrebbe copiare in REPORT (ovviamente nella stessa posizione relativa al numero di maglia) solo l'anno di nascita ed il nome e cognome del calciatore.

Ultimissima cosa. Come posso fare per proteggere le formule e/o macro per evitare che chi ci operi crei danni e possa solo inserire i numeri necessari?

Tantissimi grazie già fin d'ora.

clarki
clarki
Newbie
 
Post: 5
Iscritto il: 14/09/16 22:12

Re: Distinta calcio con Excel 2007

Postdi Anthony47 » 16/09/16 00:17

Per la protezione, se vuoi metterla non ho capito perche' in realta' l'hai tolta su tutte le tabelle (celle formattate senza Bloccato o Nascosto).
1) Ripristina "Celle Bloccate" sulle celle di tutti i fogli in uso (Formato Celle, tab Protezione)
2) Rimuovi "Celle Bloccate" solo sulle celle che hai colorato in verde.
3) Applica la protezione ai singoli fogli (Menu, tab Revisione, Proteggi foglio); non usare una password.

3) Modifica le due macro:
Foglio CALCIATORI:
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
'
If Target.Column = 1 And Target.Count = 1 And Target.Value <> "" Then
    Sheets("distinta").Unprotect
    Sheets("report").Unprotect
    mymatch = Application.Match(Target.Value, Sheets("distinta").Range("C15:C50"), 0)
    If IsError(mymatch) Then
        MsgBox ("Maglia inesistente in DISTINTA; correggi e riprova")
    Else
    Sheets("distinta").Cells(14 + mymatch, 4).Resize(1, 23).Value = _
        Target.Offset(0, 3).Resize(1, 23).Value
    Sheets("report").Cells(2 + mymatch, 4).Resize(1, 2).Value = _
        Target.Offset(0, 5).Resize(1, 2).Value
        End If
    Sheets("distinta").Protect
    Sheets("report").Protect
End If
End Sub
Adesso compila anche il foglio REPORT

Foglio DIRIGENTI:
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
'
If Target.Column = 1 And Target.Count = 1 And Target.Value <> "" Then
    Sheets("distinta").Unprotect
    mymatch = Application.Match(Target.Value, Sheets("distinta").Range("A15:A50"), 0)
    If IsError(mymatch) Then
        MsgBox ("Maglia inesistente in DISTINTA; correggi e riprova")
    Else
    Sheets("distinta").Cells(14 + mymatch, 7).Resize(1, 23).Value = _
        Target.Offset(0, 6).Resize(1, 23).Value
    End If
    Sheets("distinta").Protect
End If
End Sub

In questo modo gli utenti possono solo scrivere nelle celle verdi.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Distinta calcio con Excel 2007

Postdi clarki » 16/09/16 16:54

Ciao Grande Anthony.
Grazie per tutto quello che mi hai mandato, ma con le ultime macro il file non funziona più.
Inoltre pensavo di poter aggiungere qualcosa io dopo il tuo grande lavoro, ma la mia incompetenza e sbadataggine sono talmente grandi che forse è meglio mandarti il file completo cercando di essere il più chiaro possibile su ciò che si potrebbe fare.

https://we.tl/LUzEl0IzXg

1) foglio CALCIATORI
a) la parte alta con i dati della partita dovrei essere in grado di inserire la formuletta con = per copiare i dati nella distinta, mentre per le caselle CASA/TRASFERTA vedere i fogli REPORT
b) inserendo il numero della maglia da 1 a 18 nelle celle verdi, vengono inseriti, nella distinta, i dati anagrafici posti sulla stessa riga
c) se ci fosse la necessità che i numeri delle maglie andassero da 1 a 20, è sufficiente inserire due righe nella distinta? Dovrei modificare anche la macro?
d) possibilità di inserire nuovi calciatori, con anagrafiche, nell'elenco del foglio CALCIATORI

2) foglio DIRIGENTI
come sopra con la possibilità di aumentare l'elenco

3) foglio REPORT CASA
a) inserendo i numeri di maglia nelle celle verdi del foglio CALCATORI, inserendo una X (o altro) nella casella CASA, i dati delle celle (F9:F33) del foglio CALCIATORI, andrebbero copiati nelle celle dispari (F15:F53) del foglio REPORT CASA
b) inserendo i numeri di maglia nelle celle verdi del foglio CALCATORI, inserendo una X (o altro) nella casella CASA, i dati delle celle (G9:G33) del foglio CALCIATORI, andrebbero copiati nelle celle dispari (G15:G53) del foglio REPORT CASA

4) foglio REPORT TRASFERTA
a) inserendo i numeri di maglia nelle celle verdi del foglio CALCATORI, inserendo una X (o altro) nella casella TRASFERTA, i dati delle celle (F9:F33) del foglio CALCIATORI, andrebbero copiati nelle celle dispari (L15:L53) del foglio REPORT TRASFERTA
b) inserendo i numeri di maglia nelle celle verdi del foglio CALCATORI, inserendo una X (o altro) nella casella TRASFERTA, i dati delle celle (G9:G33) del foglio CALCIATORI, andrebbero copiati nelle celle dispari (K15:K53) del foglio REPORT TRASFERTA

Per i punti 3 e 4, è forse più semplice impostare che una volta inserita una X nella casella CASA/TRASFERTA, con una formuletta di copia cella in foglio DISTINTA, i dati necessari vengono copiati nel ripettivo foglio di REPORT.
Oppure se necessario, si può creare un foglio di DISTINTA TRASFERTA collegato al REPORT TRASFERTA

Non vorrei complicare una cosa che lo è già ababstanza e mi fermo qui

Per ora ti ringrazio molto e poi sicuramente ti sei guadagnato un biglietto omaggio per una partita della squadra.....

clarki

ps. ho capito coem si bloccano le celle. Grazie mille
clarki
Newbie
 
Post: 5
Iscritto il: 14/09/16 22:12

Re: Distinta calcio con Excel 2007

Postdi Anthony47 » 17/09/16 00:07

Mi spiace, ma il collaudo lo devi fare tu, lavorando sul file pubblicato nel primo messaggio.
Se "non funziona" allora dovresti descrivere la prova che hai fatto, il risultato ottenuto, il risultato che invece ti aspettavi.

Puoi inserire ulteriori numeri in Distinta-colonna C: seleziona righe 31:32 (quelle che ora contengono 17-18), dare il comando "Inserisci righe", aggiustare la numerazione di colonna C. La macro non cambia.
Per allungare l'anagrafica in Calciatori basta formattare le celle come le altre (per avere la stessa interfaccia grafica); la macro non cambia
Idem per il foglio Dirigenti.

Per i punti 3 e 4, è forse più semplice impostare che una volta inserita una X nella casella CASA/TRASFERTA, con una formuletta di copia cella in foglio DISTINTA, i dati necessari vengono copiati nel ripettivo foglio di REPORT.
Oppure se necessario, si può creare un foglio di DISTINTA TRASFERTA collegato al REPORT TRASFERTA
Ok, prima di dare suggerimenti aspetto informazioni su come svilupperai questa idea.
Comunque sui punti 3 e 4 ci avrei lavorato dopo che avremo la conferma che quanto fatto sulla struttura pubblicata nel tuo messaggio iniziale sia corretto.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Distinta calcio con Excel 2007

Postdi clarki » 29/09/16 16:10

Ciao Anthony47

Ho ascoltato i tuoi consigli e cercato di realizzare il file che avevo in mente.
Ho inserito un po' di funzioni che forse mi vengono meglio, registrato alcune macro e mi sembra di aver raggiunto un buon risultato, ma forse c'era qualche modalità più semplice di quelle che ho utilizzato.

L'unica cosa è che ora ho protetto diverse celle per evitare che sovrascrivano eventuali formule e/o dati, ma quando vado ad inserire il numero della maglia nelle celle verdi del foglio calciatori (A9:A33) e dirigenti (A5:A19), mi esce un messaggio che dice di sbloccare i fogli.

C'è una possibilità di combinare tutte le cose?

Se hai qualche suggerimento per modifiche e miglioramenti, sono ben accetti.

Grazie fin d'ora

clarki

https://we.tl/VW72grQE7C
clarki
Newbie
 
Post: 5
Iscritto il: 14/09/16 22:12

Re: Distinta calcio con Excel 2007

Postdi Anthony47 » 30/09/16 00:30

Le macro che ti avevo suggerito contenevano le istruzioni per sproteggere (all'inizio) e proteggere (alla fine) i fogli che dovevano essere scritti:
Codice: Seleziona tutto
If Target.Column = 1 And Target.Count = 1 And Target.Value <> "" Then
    Sheets("distinta").Unprotect
    Sheets("report").Unprotect
'
'altro Codice della macro
'altro Codice della macro
'
    Sheets("distinta").Protect
    Sheets("report").Protect
End If

Nel codice del file pubblicato non trovo lo stesso accorgimento, che va rimesso.
I fogli da sproteggere e riproteggere sono ovviamente quelli che la macro va a scrivere.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Distinta calcio con Excel 2007":


Chi c’è in linea

Visitano il forum: Gianca532011 e 44 ospiti