Pagina precedente | 1 2 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Formula Calcolo Voli ed Ore

Ultimo Aggiornamento: 11/03/2018 11:05
Post: 17
Registrato il: 25/11/2007
Città: JESI
Età: 47
Utente Junior
2003
OFFLINE
28/02/2018 09:48

Buon pomeriggio,
perdonate il disturbo ma finalmente inizio a lavorare su dei fogli che ho realizzato mesi fa grazie al vostro splendido aiuto.
Adesso ho due quesiti:
1) è possibile far contare sul foglio Riepilogo MFR1 alla cella E4 i voli riportati sul foglio MFR1 dalla cella FGH6 in poi?
Praticamente ogni volta che la riga 6 del foglio MFR1 è movimentata la cella dell'altro foglio deve contare 1.
Nel foglio di esempio, chiaramente, il valore che deve venire fuori è 6.

2) il foglio nasce con excel 2013 ma verrà utilizzato con la versione 2003 per questo motivo la formula che è presente nella cella D17 del foglio MFR1 non funziona più ed addirittura scompare .
Come devo ottimizzarla affinchè sia funzionante anche con excel 2003?
La formula matrice è la seguente:
SOSTITUISCI(SOSTITUISCI(SE(INDIRETTO("'MFR "&VALORE(DESTRA($B$2;LUNGHEZZA($B$2)-LUNGHEZZA("RIEPILOGO DA FOGLIO MFR ")))&"'!F4:CB4")="31-32";"";INDIRETTO("'MFR "&VALORE(DESTRA($B$2;LUNGHEZZA($B$2)-LUNGHEZZA("RIEPILOGO DA FOGLIO MFR ")))&"'!F4:CB4"));"-31";"");"-32";"");"31-";"");"32-";"");"31";"");"32";"");0;"")&"-");0;"");1;"");2;"");3;"");4;"");5;"");6;"");7;"");8;"");9;""))*2)

Allego file e ringrazio anticipatamente.
Post: 2.715
Registrato il: 03/04/2013
Utente Veteran
Excel 2000 - 2013
OFFLINE
28/02/2018 11:49

Buona giornata, @aliele.;
due considerazioni:
-    sei certo che nelle Celle F6, I6, L6, O6, R6, X6, ..., BT6, BW6, BZ6 al posto delle Formule non convenga una "Convalida dati"?
-    per ottenere quello che chiedi potrei pensare ad un Evento "Worksheet_Change"; cosa ne pensi?




A disposizione.

Buon Lavoro.

Giuseppe

Windows XP - Excel 2000
Windows 10 - Excel 2013
Post: 3.205
Registrato il: 28/06/2011
Città: AGORDO
Età: 70
Utente Master
2013
OFFLINE
28/02/2018 12:26

Un saluto a GiuseppeMN

Da provare in Excel2003
>>>cella E4 =CONTA.SE('MFR 1'!F6:CB6;">a")
>>>cella D17
Non ci vedo nulla di strano, dovresti avere altri fogli oltre a MFR 1/2/3 per usare tale formula.
Và in un foglio???, controlla le celle F4:CB4 e se trova Ex 31-32...cosa deve fare (moltiplicare)?
Questa funziona...=SE(INDIRETTO("'MFR "&1&"'!F4")="27-28";"giusto";"sbagliato")
Questa non può funzionare =SE(INDIRETTO("'MFR "&1&"'!F4:CB4")="27-28";"giusto";"sbagliato")

Ps. Quando salvi hai notato l'avviso di incompabilità, 2003 non usa AGGREGATE e non credo che usi SOMMA.PIÙ.SE
[Modificato da raffaele1953 28/02/2018 12:55]
Excel 2013
Post: 2.716
Registrato il: 03/04/2013
Utente Veteran
Excel 2000 - 2013
OFFLINE
28/02/2018 16:57

Buon pomeriggio, Raffaele;
avevo pensato a "Worksheet_Change" perchè @aliele., che saluto, nella sua richiesta aveva parlato di:

@aliete. chiede:


Praticamente ogni volta che la riga 6 del foglio MFR1 è movimentata la cella dell'altro foglio deve contare 1.



Ora, con una Formula vengono calcolate quanti Valori sono inseriti ma non le Variazioni; voglio dire, nell'esempio, il Valore nel Foglio di lavoro Riepilogo MFR1 nella cella E4 sarebbe 6 ma se uno di loro viene variato il risultato sarebbe sempre 6 mentre con "Worksheet_Change" il Valore verrebbe incrementato ad ogni variazione.

Dipende da cosa si vuole ottenere,


A disposizione.

Buona serata.

Giuseppe

Windows XP - Excel 2000
Windows 10 - Excel 2013
Post: 17
Registrato il: 25/11/2007
Città: JESI
Età: 47
Utente Junior
2003
OFFLINE
28/02/2018 21:48

Buona sera a tutti ed innanzitutto grazie per i feedback ricevuti. Come sempre siete grandi.
Procedo con ordine:
1) io ho una conoscenza basica di excel, quindi il foglio non l'ho realizzato io :-)
Per me è indifferente la formula che viene utilizzata, l'importante è raggiungere l'obiettivo;

2) La formula proposta da Raffaele >>>cella E4 =CONTA.SE('MFR 1'!F6:CB6;">a") funziona perfettamente ed a me questo basta. Sono certa che anche quanto proposto da GIUSEPPE sarebbe stata altrettanto efficace.

3) Per quanto riguarda l'aspetto legato alla formula Conta Banchi posto in D17 nel foglio riepilogo MFR posso dire che la formula funziona su excel 2013 ma con excel 2003 mi viene visualizzato un avviso del tipo che la formula contiene troppi annidamenti (o qualcosa del genere)

Come detto al punto 1 la formula di per se può essere modificata o cambiata come impostazione a me interessa che mi venga restituito il valore corretto che è il numero di volte in cui c'è un numero tranne il numero 31 o 32 o 31 e 32.
Esempio se nella riga 4 dalla colonna F/G in poi del foglio MFR1 c'è scritto 27 deve contare 2 se c'è scritto 27-30 deve contare 4, se c'è scritto 35-42 deve contare 4, se c'è scritto 28-31 deve contare due perchè la formula non deve moltiplicare per due nè la cifra 31 nè 32.
Secondo l'esempio appena descritto io nella cella D17, dunque, del foglio riepilogo devo vedere indicato il totale 12.

Mi auguro di essere stata chiara e vi ringrazio nuovamente per il tempo dedicatomi.
Buona serata
Post: 3.207
Registrato il: 28/06/2011
Città: AGORDO
Età: 70
Utente Master
2013
OFFLINE
01/03/2018 00:43

>>>ma finalmente inizio a lavorare su dei fogli che ho realizzato
>>>1) io ho una conoscenza basica di excel

Ciao GiuseppeMN
Non credo che il problema sia dovuto al "movimentata"
Di sicuro abbiamo due diversi pensieri (dovuti solo ... che "forse" l'utente non dice il tutto)

>>>3) Per quanto riguarda l'aspetto legato alla formula Conta Banchi posto in D17
Hai forse "notato" una richiesta simile, nei Post precedenti?

Casomai fosse (SOSTITUISCI(SOSTITUISCI...) credo d'aver risposto con =SE(INDIRETTO("'MFR "&1&"'!F4")="27-28";"giusto";"sbagliato")
Purtroppo l'utente non desidera spiegare?
Excel 2013
Post: 18
Registrato il: 25/11/2007
Città: JESI
Età: 47
Utente Junior
2003
OFFLINE
01/03/2018 09:13

Buon giorno scusate ma sono influenzata e forse non ho capito bene, me ne dispiace.
Ma perchè non dovrei dire tutto, cosa dovrei nascondere? Mi avete posto delle domande a cui non ho risposto?
Sinceramente non capisco e me ne duole.
Ditemi se ho capito bene devo sostituire la formula con quella proposta da raffaele? Lo faccio subito in diretta.
L'ho sostituito nella cella c'è scritto "giusto"

Ho la febbre alta e vi prego di perdonare le mie involontarie elusioni.

Vi ringrazio e rimango in attesa di vostro cortese feedback.

Grazie e saluti.
Post: 2.721
Registrato il: 03/04/2013
Utente Veteran
Excel 2000 - 2013
OFFLINE
01/03/2018 10:55

Buona giornata, Aliele;
non voglio infierire sulla tua febbre ma, appena ti sei ristabilita, potresti gentilmente chiarirmi questo punto:
@aliele, in risposta #5, scrive:


Come detto al punto 1 la formula di per se può essere modificata o cambiata come impostazione a me interessa che mi venga restituito il valore corretto che è il numero di volte in cui c'è un numero tranne il numero 31 o 32 o 31 e 32.
Esempio se nella riga 4 dalla colonna F/G in poi del foglio MFR1 c'è scritto 27 deve contare 2 se c'è scritto 27-30 deve contare 4, se c'è scritto 35-42 deve contare 4, se c'è scritto 28-31 deve contare due perchè la formula non deve moltiplicare per due nè la cifra 31 nè 32.
Secondo l'esempio appena descritto io nella cella D17, dunque, del foglio riepilogo devo vedere indicato il totale 12.



Ho cercato di interpretare la tua richiesta ma, probabilmente sbaglio qualche cosa; sempre riferendomi al tuo esempio, ho cercato di valutare il Range F4:X4:
  Cella    Valore    Conteggio
-    F4  27-28    4
-    I4  29-30    4
-    L4  28         2
-    O4  29        2
-    R4  30-31    2
-    U4  35-36    4
-    X4  35-28    4
il totale sarebbe 22, ma secondo la tua stima dovrebbe essere 12; dove sbaglio?

Grazie dell'attenzione che potrai dedicarmi.



A disposizione.

Auguri di pronta guarigione.

Giuseppe

Windows XP - Excel 2000
Windows 10 - Excel 2013
Post: 19
Registrato il: 25/11/2007
Città: JESI
Età: 47
Utente Junior
2003
OFFLINE
01/03/2018 13:51

Ciao Giuseppe,

grazie piuttosto a te ed a tutti per il tempo dedicato alla soluzione del mio problema.

Hai inteso perfettamente la mia esigenza e di conseguenza l'esempio da te proposto è corretto nel totale.
Il mio totale, pari a 12 che evidenziavo è relativo all'esempio discorsivo che ho riportato e non mi riferivo a quanto indicato nelle celle del MFR1, era avulso da ciò che in esse trovi riportato.
Era un esempio ex novo.

Esempio se nella riga 4 dalla colonna F/G in poi del foglio MFR1 c'è scritto 27 deve contare 2 se c'è scritto 27-30 deve contare 4, se c'è scritto 35-42 deve contare 4, se c'è scritto 28-31 deve contare due perchè la formula non deve moltiplicare per due nè la cifra 31 nè 32.
Secondo l'esempio appena descritto io nella cella D17, dunque, del foglio riepilogo devo vedere indicato il totale 12.


Mi auguro, adesso, di essere stata più chiara.

Grazie ancora e saluti.
Post: 3.212
Registrato il: 28/06/2011
Città: AGORDO
Età: 70
Utente Master
2013
OFFLINE
01/03/2018 15:29

Premesso che non mi funziona con Excel 2007
SOSTITUISCI(SOSTITUISCI(SE(INDIRETTO("'MFR "&VALORE(DESTRA($B$2;LUNGHEZZA($B$2)-LUNGHEZZA("RIEPILOGO DA FOGLIO MFR ")))&"'!F4:CB4")="31-32";"";INDIRETTO("'MFR "&VALORE(DESTRA($B$2;LUNGHEZZA($B$2)-LUNGHEZZA("RIEPILOGO DA FOGLIO MFR ")))&"'!F4:CB4"));"-31";"");"-32";"");"31-";"");"32-";"");"31";"");"32";"");0;"")&"-");0;"");1;"");2;"");3;"");4;"");5;"");6;"");7;"");8;"");9;""))*2)

Cerco di capirla per come è scritta
>>>SOSTITUISCI(SOSTITUISCI(SE(INDIRETTO("'MFR "&VALORE(DESTRA($B$2;LUNGHEZZA($B$2)-LUNGHEZZA("RIEPILOGO DA FOGLIO MFR ")))
Si tratta di cambiare il nome foglio (almeno credo)

>>>F4:CB4
Parliamo di un range, mà indiretto darebbe errore

>>>*2)
In teoria una somma di numeri moltiplicato per due

Capito la sua richiesta mi viene in mente
=MATR.SOMMA.PRODOTTO(('MFR 1'!F4:CB4="27-28")*2)
Adesso bisogna vedere quanti valori possa avere :27-28,29-30,28,29,30-31,35-36,35-28
In teoria sarebbe 7 formule insieme
=MATR.SOMMA.PRODOTTO(('MFR 1'!F4:CB4="27-28")*2)+MATR.SOMMA.PRODOTTO(('MFR 1'!F4:CB4="29-30")*2) ecc ecc
Dove ogni formula cerca "27-28" oppure gli altri e moltiplica eventualmente
Excel 2013
Post: 2.722
Registrato il: 03/04/2013
Utente Veteran
Excel 2000 - 2013
OFFLINE
01/03/2018 15:51

Buon pomeriggio, Aliele;
quando, come in questo caso, le Formule sono molto complikcate da gestire, preferisco utilizzare VBA.
Questo Codice VBA dovrebbe funzionare anche con Excel 2003:
Option Explicit

Sub Analizza()
Application.ScreenUpdating = False
Dim x As Byte, Tot As Byte, y As Byte, w As Byte

    With Worksheets("MFR 1")
        For x = 6 To 78 Step 3
            If .Cells(4, x).Value <> "" Then
                If Len(.Cells(4, x)) = 2 Then
                    y = Left(.Cells(4, x), 2)
                        If y <> 31 And y <> 32 Then Tot = Tot + 2
                End If
                If Len(.Cells(4, x)) = 5 Then
                    y = Left(.Cells(4, x), 2)
                        If y <> 31 And y <> 32 Then Tot = Tot + 2
                    w = Right(.Cells(4, x), 2)
                        If w <> 31 And y <> 32 Then Tot = Tot + 2
                End If
            End If
        Next x
    End With
        Cells(17, 4).Value = Tot
Application.ScreenUpdating = True
End Sub

basta premere il Pulsante "Analizza".

Potrebbero esserci delle eccezioni:
- Valori compresi tra 1 e 9
- Valori > di 99
in questo caso dovremo mettere mano al Codice VBA.



A disposizione.

Buona serata.

Giuseppe

Windows XP - Excel 2000
Windows 10 - Excel 2013
Post: 20
Registrato il: 25/11/2007
Città: JESI
Età: 47
Utente Junior
2003
OFFLINE
01/03/2018 17:38

Giuseppe la formula funziona egregiamente. Grande! [SM=x423030]

C'è un problema, però, che nasce certamente dalla mia ignoranza nelle funzioni di excel.

Il file che ho postato è solo l'esempio (uno stralcio) di un file più grande che contiene MFR e riepilogo MFR per quanti giorni ci sono in un mese, quindi diciamo genericanente 31 MFR e 31 riepiloghi.
Se mi spieghi come fare ad inserire in ogni foglio di riepilogo il codice VBA attribuendolo al pulsante provvedo ad integrare anche gli altri fogli avendo raggiunto il mio obiettivo.

Ancora grazie. [SM=x423069]
Post: 2.725
Registrato il: 03/04/2013
Utente Veteran
Excel 2000 - 2013
OFFLINE
01/03/2018 19:00

Buona sera, Aliele.

@aliele., scrive:

... la formula funziona egregiamente.



Aliele, quello che ti ho proposto non è una Formula ma il risultato del Codice VBA "Analizza".

@aliele., scrive:

Il file che ho postato è solo l'esempio (uno stralcio) di un file più grande che contiene MFR e riepilogo MFR per quanti giorni ci sono in un mese, quindi diciamo genericanente 31 MFR e 31 riepiloghi.



Questo Codice VBA dovrebbe funzionare su tutti i Fogli di lavoro "riepilogo":
Option Explicit

Sub Analizza()
On Error GoTo 10
Application.ScreenUpdating = False
Dim x As Byte, Tot As Byte, y As Byte, w As Byte
Dim Fgl As String
   
    Fgl = Cells(1, 6).Value
    With Worksheets(Fgl)
        For x = 6 To 78 Step 3
            If .Cells(4, x).Value <> "" Then
                If Len(.Cells(4, x)) = 2 Then
                    y = Left(.Cells(4, x), 2)
                        If y <> 31 And y <> 32 Then Tot = Tot + 2
                End If
                If Len(.Cells(4, x)) = 5 Then
                    y = Left(.Cells(4, x), 2)
                        If y <> 31 And y <> 32 Then Tot = Tot + 2
                    w = Right(.Cells(4, x), 2)
                        If w <> 31 And y <> 32 Then Tot = Tot + 2
                End If
            End If
        Next x
    End With
        Cells(17, 4).Value = Tot
10:
Application.ScreenUpdating = True
End Sub


Ho eliminato il Pulsante "Analizza"; il Codice VBA viene attiato quando apri uno dei Fogli di lavoro "riepilogo"

@aliele., scrive:

Se mi spieghi come fare ad inserire in ogni foglio di riepilogo il codice VBA attribuendolo al pulsante provvedo ad integrare anche gli altri fogli avendo raggiunto il mio obiettivo.



Sempre im modo barbaro , ho indicato in Cella "F1" di ogni Foglio di lavoro "riepilogo" il nome del Foglio di lavoro a cui si riferisce (MFR 1, MFR 2, MFR 3, ... MFR 31)
Molto probabilmente si potrebbe risolvere modificando i Valore inserito in Cella "B2" ma non ho voluto rischiare di compromettere le Formule presenti in "C5" e "C6"; se lo ritieni utile e opportuno possiamo approfondire.

Consentimi un consiglio anche se non richiesto; personalmente quando devo gestire più di 8 Fogli di lavoro mi affido ad un Foglio di lavoro "Menù" dal quale riesco a visualizzare/nascondere i vari Fogli di lavoro.
Ora, stiamo parlando di almeno 62 Fogli di lavoro; credo sia opportuno considerare l'opportunità del Foglio di lavoro "Menù"; anche per questo, se lo ritieni utile e opportuno possiamo approfondire.



A disposizione.

Buona serata.

Giuseppe

Windows XP - Excel 2000
Windows 10 - Excel 2013
Post: 21
Registrato il: 25/11/2007
Città: JESI
Età: 47
Utente Junior
2003
OFFLINE
01/03/2018 19:40

Giuseppe GRAZIE!!! Sei Fan-ta-sti-co!!! [SM=x423017]
Il file esempio che hai postato è semplicemente PERFETTO.
Accetto il tuo consiglio e mi fa piacere adottare la modalità da te suggerita inserendo un menù perchè snellirebbe, senz'altro il foglio rendendolo più gestibile.
Dimmi, dunque, come fare. [SM=x423047]
Tieni conto che io ho il file composito già pronto, dovrei solo integrare ogni foglio di riepilogo con il codice VBA ma, ti confesso, che non ho ben capito come fare. [SM=x423051]

Attendo dunque, con molto piacere i tuoi lumi.

Grazie ancora
Post: 2.726
Registrato il: 03/04/2013
Utente Veteran
Excel 2000 - 2013
OFFLINE
02/03/2018 00:11

Buona sera, Aliele.
temo, come si suol dire, di aver "venduto la pelle dell'orso prima di averlo catturato"; voglio dire, il File con il Foglio di lavoro "Menù" ha diversi Codici VBA e, alcuni, vanno in conflitto con la struttra che ho previsto per il File che ho proposto in Risposta #13.

Credo servirà diverso tempo e lavoro per vedere di adattarlo alla struttura esistente.

Però, sarò sincero, mi interesserebbe più analizzare il Foglio di lavoro "riepilogo" per poterlo rendere univoco con tutti i 31 Fogli di lavoro "MFR".

Il mio pensiero sarebbe quello di avere il Cella "B2" il nome del Foglio di lavoro "MFR"; inserendo "MFR 1", con l'opportuna formattazione comparirebbe "RIEPILOGO DA FOGLIO MFR 1" ma il Valore sarebbe "MFR 1", quindi con Indiretto potrei gestire i valori di tutti i 31 "MFR".

Comincerò ad analizzare le Formule presenti in Cella "E4", e Cella "C5" che molto probabilmente non creeranno problemi.

Il problema rimane nella Formula matriciale presente nella Cella "C6" che è veramente stutturata; quello che aiuterebbe in modo determinante sarebbe capire come sarebbe quella Formula con l'indicazione del Foglio di lavoro MFR 1.

Voglio dire quello che mi rende di difficile comprensione sono i riferimenti alla Cella "B2":
- INDIRETTO("'"&DESTRA($B$2;LUNGHEZZA($B$2)-LUNGHEZZA("RIEPILOGO DA FOGLIO ")))
perchè nel momento in cui cerco di intervenire succedono cose strane; ma, con molta pazienza e buona volontà, confido di trovare la quadra.




A disposizione.

Buona serata.

Giuseppe

Windows XP - Excel 2000
Windows 10 - Excel 2013
Post: 2.727
Registrato il: 03/04/2013
Utente Veteran
Excel 2000 - 2013
OFFLINE
02/03/2018 00:47

Forse ci siamo.

Proverei con il File in allegato.

Considera che la selezione dei Fogli di lavoro "MFR" nel Foglio di lavoro "riepilogo", attualmente, deve essere limitato a "MFR 1, MFR 2 e MFR 3"
Nel momento in cui avrai inserito tutti i 31 Fogli di lavoro "MFR" potrai selezionare tranquillamente uno dei 31 "MFR"



A disposizione.

Giuseppe

Windows XP - Excel 2000
Windows 10 - Excel 2013
Post: 22
Registrato il: 25/11/2007
Città: JESI
Età: 47
Utente Junior
2003
OFFLINE
02/03/2018 09:19

Buon giorno Giuseppe,
antepongo a questo scritto il solito suffisso GRAZIE che è SEMPRE da considerare anche se non lo dovessi scrivere.
Fatto salvo questo doveroso chiarimento passo a risponderti.
Come detto io "mastico" poco di formule complesse, mi limito al minimo sindacale :-)
Detto ciò. Io non trovo la formula che tu citi in B2, sia nel foglio MFR che nel ripeilogo; in B2 non trovo il riferimento da te citato.
Posso dirti, però, che possiamo utilizzare la cella B2 del foglio MFR perchè la scritta DATE al momento inserita non è indispensabile.

Ti manifesto, però, una mia perplessità che potrebbe non essere tale visto che, come più volte ribadito, non sono padrona nè di formule nè di codici VBA.

Con il metodo a Menù proposto la cella E4 del foglio di riepilogo funzionerebbe lo stesso correttamente evidenziando il totale dei voli presenti sul foglio MFR di riferimento?

Infine tutte le formule che tu trovi nel mio foglio possono essere modificate con altre che ti convincono di più e magari meno complesse ma che siano ugualmente efficaci.
In tale ottica ti spiego cosa deve restituirmi la cella C6 del foglio di riepilogo.
Nella colonna C dalla riga 10 in poi sono indicati dei turni (e quindi delle ore).
Se il turno è B a prescindere dal numero che segue la lettera le ore sono due, se è C a prescindere dal numero che segue la lettera le ore sono tre, se è D 4 e così via fino alla H che rappresentano 8 ore.

Per questa mattina mi pare tutto, ci aggiorniamo a più tardi.
Saluti.
Post: 23
Registrato il: 25/11/2007
Città: JESI
Età: 47
Utente Junior
2003
OFFLINE
02/03/2018 09:55

Giuseppe circa la possibilità del menù c'ho ripensato.
Il foglio dovrà essere gestito almeno da tre persone diverse e ci può stare che nella fretta di operare, o per leggerezza di chi lo compila, possano dimenticarsi di visualizzare il riepilogo corretto.
Rischieremmo, pertanto, di avere valori di produttività sbagliata inficiando il nostro lavoro.
Se il foglio dovessi gestirlo da sola la tua soluzione sarebbe stata eccellente.
Pertanto ti blocco subito per evitare di rubarti tempo inutilmente.
Ti prego solo di chiarirmi, per piacere, l'aspetto legato all'inserimento del codice VBA che deve funzionare su ogni foglio di riepilogo.

Grazie ancora ed a dopo.
Post: 2.728
Registrato il: 03/04/2013
Utente Veteran
Excel 2000 - 2013
OFFLINE
02/03/2018 10:25

Buona giornata, Aliele;
purtroppo questa mattina non posso dedicarmi al nostro programma, ti sto screvendo dal Computer di AUSER associazione presso la quale dedico qualche ora di volontariato.

Appena rientro vedo quello che è possibile fare; sicuramente, assieme, risolviamo rapidamente.



A disposizione.

Buon Lavoro.

Giuseppe

Windows XP - Excel 2000
Windows 10 - Excel 2013
Post: 3.215
Registrato il: 28/06/2011
Città: AGORDO
Età: 70
Utente Master
2013
OFFLINE
02/03/2018 14:02

Ciao GiuseppeMN
Bella la formattazione in B2
Se mi permetti, un suggerimento. Quando si clicca su "Riepilogo MFR" un MSG che chiede quale giornata analizzare (togliere la convalida Dati in B2 e far sparire tutti gli altri fogli + casomai un bottone=menu).
Inoltre fare da qualche parte una tabella con le varie sigle (27-28,29-30,28,29,30-31,35-36,35-28 ecc ecc "con range più ampio di quello attuale") con a fianco i vari numeri. Questo eviterebbe di modificare il VBA in futuro causa variazioni di lavoro.
Un saluto
Excel 2013
Post: 2.730
Registrato il: 03/04/2013
Utente Veteran
Excel 2000 - 2013
OFFLINE
02/03/2018 17:46

Buona sera, Aliele.

@aliele., scrve:


Io non trovo la formula che tu citi in B2, sia nel foglio MFR che nel ripeilogo; in B2 non trovo il riferimento da te citato.
Posso dirti, però, che possiamo utilizzare la cella B2 del foglio MFR perchè la scritta DATE al momento inserita non è indispensabile.


La Cella "B2" dicui parlavo non è nei Fogli di lavoro "MFR" ma in Riepilogo MFR"; in questa Cella avevo inserito una "Convalida dati" con la possibilità di selezionare uno dei 31 File "MFR".

@aliele., scrve:


Con il metodo a Menù proposto la cella E4 del foglio di riepilogo funzionerebbe lo stesso correttamente evidenziando il totale dei voli presenti sul foglio MFR di riferimento?



Perdonami ma mi sono perso, nella Cella "E4" del Foglio di lavoro "Riepilogo MFR" c'è questa Formula:
 =CONTA.SE(INDIRETTO("'" & $B$2&"'!$F6:CB6");">a") 

la quale, facendo riferimento al Valore inserito in Cella "B2" esegue il calcolo richiesto; volendo essere pignoli avrei preferito:
 =CONTA.SE(INDIRETTO("'" & $B$2&"'!$F$6:$CB$6");">a") 

ma, in questo contesto, vanno bene entrambe.

@aliele., scrve:


Il foglio dovrà essere gestito almeno da tre persone diverse e ci può stare che nella fretta di operare, o per leggerezza di chi lo compila, possano dimenticarsi di visualizzare il riepilogo corretto.
Rischieremmo, pertanto, di avere valori di produttività sbagliata inficiando il nostro lavoro.


Nel File in allegato ho già provveduto a Togliere la Convalida dati in Cella "B2" e dedicare un Foglio di lavoro "Riepilogo MFR n" ad ogni "MFR"

@aliele., scrve:


Il foglio dovrà essere gestito almeno da tre persone diverse e ci può stare che nella fretta di operare, o per leggerezza di chi lo compila, possano dimenticarsi di visualizzare il riepilogo corretto.
Ti prego solo di chiarirmi, per piacere, l'aspetto legato all'inserimento del codice VBA che deve funzionare su ogni foglio di riepilogo.


Ho ripristinato l'Evento "Workbook_SheetActivate" che si occupa di calcolare il Valore presente nella Cella "D17" del Foglio di lavoro "Riepilogo MFR n" ogni volta che il Foglio di lavoro viene attivato.

L'unica cosa da ricordare è che in ogni Foglio lavoro "Riepilogo MFR", in Cella "B2" dovrà essere inserito il nome del Foglio di lavoro di riferimento; nel nostro caso in:
-    Riepilogo MFR 1, dovrà essere indicato MFR 1
-    Riepilogo MFR 2, dovrà essere indicato MFR 2
-    Riepilogo MFR 3, dovrà essere indicato MFR 3
In realtà quello che verrà visualizzato sarà il NomeFoglio preceduto da "RIEPILOGO DA FOGLIO "; questo dal tipo di Formattazione che ho imposto a quella Cella.



A disposizione.

Buona serata.

Giuseppe
[Modificato da GiuseppeMN 02/03/2018 17:49]

Windows XP - Excel 2000
Windows 10 - Excel 2013
Post: 2.731
Registrato il: 03/04/2013
Utente Veteran
Excel 2000 - 2013
OFFLINE
02/03/2018 17:48

Buona sera, Raffaele;
grazie della Tua attenzione.

@raffaele1953, suggerisce:


Se mi permetti, un suggerimento. Quando si clicca su "Riepilogo MFR" un MSG che chiede quale giornata analizzare (togliere la convalida Dati in B2 e far sparire tutti gli altri fogli + casomai un bottone=menu).


Raffaele fino a Giovedì della prossima settimana non potrò dedicarmi assiduamente a Forum, sono dal dentista, quindi se hai qualche proposta leggerò con molto interesse le Tue Soluzioni.

@raffaele1953, suggerisce:


Inoltre fare da qualche parte una tabella con le varie sigle (27-28,29-30,28,29,30-31,35-36,35-28 ecc ecc "con range più ampio di quello attuale") con a fianco i vari numeri. Questo eviterebbe di modificare il VBA in futuro causa variazioni di lavoro.


Non saprei; quello che farei sicuramente nei vari Fogli di lavori "MFR" è:
-    togliere le Celle unite almeno nel Range "F4 : CB4"
-    scrivere in ogni Cella il Valore da valutare; in Cella "F4" non scrivere "27-28" ma in Cella "F4" scriverei 27, in "G4" scriverei "-" e in "H4" scriverei 28
Questo semplificherebbe molto la struttura del Codice VBA.



Ci sentiamo in Skype.

Buona serata.

Giuseppe

Windows XP - Excel 2000
Windows 10 - Excel 2013
Post: 3.219
Registrato il: 28/06/2011
Città: AGORDO
Età: 70
Utente Master
2013
OFFLINE
02/03/2018 18:58

Alcune domande se è possibile..., solo per vedere se si può semplificare il tutto.

>>>Il file che ho postato è solo l'esempio (uno stralcio) di un file più grande....
1) Quanti piloti ci sono? Uno solo?
2) Perchè devi avere 31 fogli (uno per ogni giorno)? Non basta averne uno solo (scegli data e casomai nome)?
3) Nelle righe 43:55 ci sono dei #Rif errati si possono eliminare?
4) Sempre nelle righe 43:55 colonna E c'è #Rif;_xlfn.AGGREGATE si può eliminare? (non è supportato in 2003)
5) La Tabella che inizia dalla riga60, cosè? La scaricate dalla rete? Siete Voi a compilarla?
6) Quali operazione fatte in questi fogli, intendo volete sapere il totale ORE, mà fatte anche altri interventi d'inserimento dati?
7) Mi puoi fare la lista completta delle sigle EX 27-28=2,29-30=2 ecc ecc e pensi che in futuro non andranno aggiunte altre sigle?
[Modificato da raffaele1953 02/03/2018 21:15]
Excel 2013
Post: 2.732
Registrato il: 03/04/2013
Utente Veteran
Excel 2000 - 2013
OFFLINE
02/03/2018 19:40

Molto bene Raffaele, in considerazione del tuo impegno  in questa Discussione ti sei meritato un "Mi piace"  dal poargepe.


Giuseppe

Windows XP - Excel 2000
Windows 10 - Excel 2013
Post: 24
Registrato il: 25/11/2007
Città: JESI
Età: 47
Utente Junior
2003
OFFLINE
02/03/2018 21:23

Buona sera Giuseppe, buona sera Raffaele.

Giuseppe:
Non ho capito una cosa.
Devo per forza utilizzare il tuo file incrementandolo con tutti i fogli necessari oppure posso utilizzare il mio file che è già completo sia di tutti i fogli che della modifica alla funzione in E4 del foglio riepilogo?
Nel caso avessi la possibilità di utilizzare il mio file cosa e come devo fare per inserire il codice VBA che consente la corretta contabilizzazione dei banchi?

Raffaele
rispondo alle tue domande
1) Non c'è alcun pilota :-) Noi ci occupiamo dei servizi a terra degli aeromobili (dall'accettazione del pax, al bilanciamento dell'aeromobile, al carico/scarico bagagli)
2) E il motivo per il quale ho detto a Giuseppe di non considerare più la possibilità del menù che avrebbe ridotto il numero dei fogli.
Questo file verrà gestito da almeno tre persone che, per mille ed uno motivi, potrebbero dimenticare di scegliere la data ed il nome inficiando il loro stesso lavoro oltre a quello di tutto il team coinvolto perchè, il dato più importante di tutti, la produttività, potrebbe essere quella relativa ad un'altra data e quindi si creerebbe un danno notevolissimo.
3) I #Rif si possono sicuramente eliminare, le righe no perchè potremmo incrementare il personale e le righe potrebbero essere necessarie oppure si possono eliminare per poi aggiungere alla bisogna.
4) vedi punto 3
5) E' una tabella che viene fuori da un nostro sistema aziendale e riporta i riferimenti del vettore, tipologia di aeromobile, destinazione, etc, etc, etc a me i dati contenuti in questa tabella non mi interessano ma sono fondamentali per il lavoro che alcuni colleghi devono svolgere.
6) con questo foglio viene analizzato solo l'aspetto legato alle ore ed alla produttività.

Vi ringrazio e spero di leggervi presto.

Buona serata



Post: 2.733
Registrato il: 03/04/2013
Utente Veteran
Excel 2000 - 2013
OFFLINE
02/03/2018 23:47

Buona sera, Aliele;
per integrare i Fogli di lavoro del tuo File nel File che ho proposto, potresti provare a:
-    eliminare dal File che ho proposto tutti i Fogli di lavoro "MFR" (MFR 1, MFR 2 e MFR 3)
-    dal tuo File selezionerei tutti i Fogli di lavoro "MFR" (MFR 1, MFR 2, MFR 3 ... MFR 29, MFR 30 e MFR 31)
-    tasto destro, dal Menù scegli "Sposta o copia ..."
-    flag su "Crea una copia"
-    scegli il NomeFile nel quale copiare i Fogli di lavoro selezionati; in questo caso il NomeFile del File che ho proposto
-    scegli (sposta alla fine)
-    torni sul tuo File
-    tasto destro, dal Menù scegli "Separa fogli"
-    chiudi il tuo File senza salvarlo

Le seguenti operazioni andranno ripetute tante volte quanti sono i Fogli di lavoro "MFR" esluso i Fogli di lavoro "Riepilogo MFR"; nel caso del File che ho proposto, "Riepilogo MFR 1", "Riepilogo MFR 2" e "Riepilogo MFR 3".
-    dal File che ho proposto, seleziono "Riepilogo MFR 1"
-    tasto destro, dal Menù scegli "Sposta o copia ..."
-    flag su "Crea una copia"
-    scegli (sposta alla fine)
-    rinomina i nuovi Fogli di lavoro "Riepilogo MFR 4", "Riepilogo MFR 5", "Riepilogo MFR 6" ... "Riepilogo MFR 31"
-    sui nuovi Fogli di lavoro, in cella "B2" inserisci il Nome del Foglio di lavoro di riferimento; "MFR 4", "MFR 5", "MFR 6" ... "MFR 31"
-    sitema i vari Fogli di lavoro "Riepilogo" nella posizione più consona alle tue esigenze

A questo punto dovrebbe essere tutto a posto in ogni caso verifica che nelle Formule e/o nei Nomi zona non ci siano collegamenti a File esterni.

Sono consapevole che può sembrare complicato, in realtà è piuttosto semplice; se lo ritieni utile e opportuno possiamo chiarire i passaggi più ostici in Skype, a voce e con la condivisione dello schermo risulta tutto più facile e veloce.



A disposizione.

Buona serata e buon fine settimana.

Giuseppe

Windows XP - Excel 2000
Windows 10 - Excel 2013
Post: 3.220
Registrato il: 28/06/2011
Città: AGORDO
Età: 70
Utente Master
2013
OFFLINE
03/03/2018 00:21

Magari GiuseppeMN (ciao) Ti ha già dato la soluzione finale, io l'ho fatto con solo formule....
Forse non conosci EXCEL, una volta fatto bene è ha prova di qualsiasi errore dell'utente.
Comunque, Ti riallego il Tuo file con le formule (quella in C10, non sò dove prendere i Dati)

Ps. Inserito foglio dimostrativo "riepilogo MFR Bis" solo per farTi vedere come le formule si accorciano
[Modificato da raffaele1953 03/03/2018 00:22]
Excel 2013
Post: 2.734
Registrato il: 03/04/2013
Utente Veteran
Excel 2000 - 2013
OFFLINE
03/03/2018 05:45

Buona giornata, Aliele;
analizzando meglio il File ho notato che nei Fogli di lavoro "MFR", in Cella "A4" c'è la Formula:
=SE('Riepilogo MFR 1'!E6<='Riepilogo MFR 1'!E5;"Produttività Ok"; "Ottimizzare le Risorse")

questo è un problema perchè nel momento in cui elimini i Fogli di lavoro "MFR 1, MFR 2 e MFR 3" e poi li riporti dal Tuo File la Formula crea un Collegamento al File d'origine.

Vorrei chiederti se la Formula in Cella "A4" è veramente indispensabile nel qual caso bisognerà intervenire su tutte le Celle "A4" di tutti i Fogli di lavoro "MFR".

Ti chiedo scusa per il refuso.



A disposizione.

Giuseppe

Windows XP - Excel 2000
Windows 10 - Excel 2013
Post: 25
Registrato il: 25/11/2007
Città: JESI
Età: 47
Utente Junior
2003
OFFLINE
03/03/2018 13:56

Buon giorno ragazzi,
ho tentato di fare ciò che Giuseppe mi ha suggerito ma mi viene visualizzato un messaggio che dice impossibile inserire i fogli di lavoro nella cartella di destinazione perchè contiene un numero inferiore di righe e colonne rispetto alla cartella di lavoro di origine. Per spostare o copiare i dati nella cartella di lavoro di destinazione, è possibile selezionarli, quindi inserirli nei fogli di un'altra cartella di lavoro utilizzando i comandi copi o incolla

Giuseppe sinceramente io immaginavo di dover copiare il codice VBA ed inserirlo in ogni foglio in base alla modalità di procedimento che mi avresti indicato tu. E' possibile? Anche se dovessi ripetere mille volte la stessa azione, lo preferirei.

Grazie ancora e saluti.
Post: 2.736
Registrato il: 03/04/2013
Utente Veteran
Excel 2000 - 2013
OFFLINE
03/03/2018 16:53

Buona sera, Aliele;
Il File che ho inviato in Risposta #16 ha estensione .xls quindi è compatibile con tutti i File esguibili con Excel 2000 e Excel 2003.
Le Righe disponibili con questo tipo di File sono "65536"; il problema che lamenti si può verificare solo nel caso tu cerchi di insere un Foglio di lavoro proveniente da un File con estensione .xlsx o xlsm che hanno un numero di Righe uguale a "1048576" quindi non compatibili con un File con estensione .xls

Ovviamente posso inviare lo stesso File con Estensione .xlsm ma:
@aliete., in richiesta #1, scrive:

... il foglio nasce con excel 2013 ma verrà utilizzato con la versione 2003 ...



In ogni caso la cosa non è tanto copiare il Codive VBA che è univoco per tutti i Fogli di lavoro ma copiare e adattare i Fogli di lavoro "Riepilogo MFR n" che sono il cuore della Proceduta.

Quello che posso fare è prepararti un File con i 31 Fogli di lavoro "MFR 1, ... MFR n" e "Riepilogo MFR 1 ... Riepilogo MFR n"; poi dal tuo File compilato dovrai copiare le Celle "E2 : CB86" e le Celle "A8 : D86" nei rispettivi Fogli di lavoro "MFR".
In alternativa potresti inviarmi il tuo File compilato; te lo rimaderei completo di tutto.
Quello che non so se all'interno del tuo File ci siano Dati sensibili.


Buona serata e buon fine settimana.

A disposizione.

Giuseppe

Windows XP - Excel 2000
Windows 10 - Excel 2013
Vota: 15MediaObject5,00254 2
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 2 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 01:43. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com