Condividi:        

Incolonnare Massimi New

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

Incolonnare Massimi New

Postdi ramset64 » 10/01/09 18:29

Nel foglio1 ci sono le quotazioni accodate in ordine di tempo.
Nel foglio4 vorrei avere incolonnati i massimi segnati dalle ore X fino a chiusura giornata. Quindi nel foglio4 vorrei avere:
ColonnaA (Data)
ColonnaB (Massimo segnato dall’apertura fino a chiusura giornata, in pratica il massimo daily)
ColonnaC (Massimo segnato dopo le ore 8.30 e fino a chiusura giornata)
ColonnaD (Massimo segnato dopo le ore 9.00 e fino a chiusura giornata)
ColonnaE (Massimo segnato dopo le ore 9.30 e fino a chiusura giornata)
etc. fino alla colonna AC (massimo segnato dopo le ore 21.30, in pratica il massimo dell’ultima riga giornaliera)
In sostanza del foglio1 vanno prese in considerazione solo le colonne F (data) ed I (massimi).

Sono inoltre necessari i seguenti accorgimenti:
1) le date che sono in formato testo nel foglio1 devono essere trasformate in formato data nel foglio4
2) il numero di righe relativo ad una giornata può variare (file con tf diversi) quindi la macro dovrà adattarsi
3) La prima volta che viene eseguita la macro dovrà incolonnare tutte le date/massimi che ci sono, nelle successive esecuzioni dovrà invece accodare solo i nuovi dati.
Gli accorgimenti sono gli stessi utilizzati nella macro realizzata da Anthony in questa discussione:
viewtopic.php?f=26&t=77177
Allego file di esempio.
Anthony come hai visto ho non poche difficoltà con il vba anche se grazie al tuo aiuto qualcosina ho imparato, ma è troppo poco per realizzare questa e ne ho necessità. Ti chiedo, gentilmente se ti è possibile, ancora un pò del tuo tempo.
Grazie, ciao
Allegati

[L’estensione rar è stata disattivata e non puó essere visualizzata.]

ramset64
Utente Senior
 
Post: 396
Iscritto il: 29/10/08 10:41
Località: Torino

Sponsor
 

Re: Incolonnare Massimi New

Postdi Anthony47 » 11/01/09 17:05

Il mio suggerimento e' di riciclare il lavoro fatto per la discussione che hai linkato; per questo userai tutta la macro del post viewtopic.php?f=26&t=77177#p439042 e successive modifiche, con le seguenti variazioni:
1) Modificare in Sub TraspRude la seconda istruzione di questa sequenza:
Codice: Seleziona tutto
Sheets(DSh).Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Value = Cdata
Selection.Offset(0, 3).Copy Destination:=Sheets(DSh).Cells(Rows.Count, 1).End(xlUp).Offset(0, 1)       '<<<< MODIFICATA
CMax = 0: CMin = 999999

2) Idem qui:
Codice: Seleziona tutto
'Posiziona Open di orario
Selection.Offset(0, 3).Copy Destination:=Sheets(DSh).Cells(Rows.Count, 1).End(xlUp).Offset(0, I + 2)     '<<<<< MODIFICATA
Selection.Offset(1, 0).Select    'Next riga

3) Sul foglio cosi' originato, che riporta il max per ogni fascia oraria, aggiungerai le colonne con le formule per calcolare il max fino a fine giornata; con i dati che hai allegato, metterai quindi in AH2 la seguente formula:
Codice: Seleziona tutto
=MAX(B2:$AD$2)
che poi copierai verso destra fino a BJ2; poi copierai AH2:BJ2 verso il basso.

Se vuoi, puoi ottenere questi risultati su un altro foglio:
-in A2 del secondo foglio scrivi =Foglio2!A2

-fai Contr-x sulle celle AH2:BJ2 di Foglio2 e Enter su B2 del nuovo foglio
-copi le formule di rigo 2 sulle righe successive.

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

Re: Incolonnare Massimi New

Postdi ramset64 » 11/01/09 20:29

Da quanto leggo molto probabilmente mi sono spiegato male... in ogni caso non sarei stato capace.
Hai ragione Anthony probabilmente mi aspetto (anzi mi aspettavo) troppo dal forum.
Grazie comunque di tutto.
Ciao
ramset64
Utente Senior
 
Post: 396
Iscritto il: 29/10/08 10:41
Località: Torino

Re: Incolonnare Massimi New

Postdi Anthony47 » 11/01/09 23:22

Da quanto leggo molto probabilmente mi sono spiegato male... in ogni caso non sarei stato capace.
Credo di aver capito quello che chiedevi; e prima di dire "non sono capace" dovresti almeno provare...

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

Re: Incolonnare Massimi New

Postdi ramset64 » 17/01/09 16:28

Anthony io ci ho provato ma non funziona.... ho modificato come mi hai suggerito il codice (ad eccezione di min e max di giornata che in questo foglio non mi serve).
Intanto vedo che i dati arrivano alla colonna Ad (escludenso min e max daily) mentre dovrebbero arrivare alla colonna Ac (vi è infatti un dato in meno rispetto alla precedente macro), e poi i dati che vengono riportati non hanno davvero nulla a che fare con i dati che mi servono.

Ti allego il file modificato, quello che vedi nel foglio 4 è il risultato della macro, nell'ultima riga ho aggiunto a mano quello che in realtà mi serve cosi noti subito la differenza.
Grazie, ciao
Allegati

[L’estensione rar è stata disattivata e non puó essere visualizzata.]

ramset64
Utente Senior
 
Post: 396
Iscritto il: 29/10/08 10:41
Località: Torino

Re: Incolonnare Massimi New

Postdi Anthony47 » 18/01/09 16:33

nell'ultima riga ho aggiunto a mano quello che in realtà mi serve cosi noti subito la differenza.
I dati che ritrovi su Foglio4 sono la base di quello che cerchi, che potrai a questo punto ottenere con le formule citate nel mio post precedente:
3) Sul foglio cosi' originato, che riporta il max per ogni fascia oraria, aggiungerai le colonne con le formule per calcolare il max fino a fine giornata; con i dati che hai allegato, metterai quindi in AH2 la seguente formula:
Codice: Seleziona tutto
    =MAX(B2:$AD$2)
che poi copierai verso destra fino a BJ2; poi copierai AH2:BJ2 verso il basso.

Hai giustamente fatto osservare che la macro restituisce 1 valore in piu' di quanto richiesto, cioe' la colonna B (che infatti e' sistematicamente uguale al valore di colonna C); pertanto la prima formula da utilizzare non sara' =MAX(B2:$AD$2) ma
Codice: Seleziona tutto
=MAX(C2:$AD$2)

Se vuoi accumulare queste informazioni in altro foglio diverso da Foglio4, potrai seguire le istruzioni sempre del post precedente, che in sintesi dicono:
-fallo inizialmente su riga 2 di Foglio4
-sposta le formule nel nuovo foglio e copiale verso il basso.

Ha gia' imparato a usare il codice vba per copiare formule da riga1 verso il basso, quindi se vuoi evitare di copiare manualmente le formule in occasione degli aggiornamenti dei risultati bastera' che aggiungi queste righe in coda al codice esistente di TraspRude:
Codice: Seleziona tutto
RisSh = "Foglio2"        '<<< Foglio con le formule per ottenere i max di periodo
                         '        Assume che le formule siano su riga2
'
Sheets(RisSh).Select
Range("2:2").Copy Destination:=Range("A3:A" & Sheets(DSh).Cells(Rows.Count, 1).End(xlUp).Row)
    Sheets(SSh).Select
ActiveCell.Select
End Sub


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

Re: Incolonnare Massimi New

Postdi ramset64 » 19/01/09 18:19

No, non mi torna.... perchè a volte il numero di righe per giorno cambia e cosi non si autoadatterebbe mai.
Quella creata da te per i close si autoadatta, ma se utilizzo le formule sulla riga 2 e poi copio il tutto otterrei in alcune situazioni degli errori. Piuttosto che creare una macro che poi mi darebbe errori preferisco fare a mano ogni giorno. Purtroppo le mie capacità con vba sono queste.
ciao
ramset64
Utente Senior
 
Post: 396
Iscritto il: 29/10/08 10:41
Località: Torino


Torna a Applicazioni Office Windows


Topic correlati a "Incolonnare Massimi New":


Chi c’è in linea

Visitano il forum: Marius44 e 43 ospiti

cron