FARE UN CALCOLO OGN...
 
Notifiche
Cancella tutti

La consultazione del forum è libera per tutti.

Per poter porre un quesito è invece necessario essere un utente registrato (clicca qui se non lo sei).

Tutti gli utenti che richiedono un supporto, come da REGOLAMENTO, sono caldamente invitati ad allegare un file di esempio con l'indicazione di quello che si desidera ottenere.

FARE UN CALCOLO OGNI FINE MESE

18 Post
3 Utenti
2 Reactions
2,536 Visualizzazioni
MAURO
(@mauro)
Post: 0
New Member
Avviatore di Topic
 

Buongiorno, chiedo se è possibile fare un calcolo ogni fine mese riferendosi ad una cella con un valore variabile nel tempo, Il risultato ottenuto ogni fine mese deve essere fissato e non più ricalcolato al variare della data. Nell'esempio allegato vorrei che il calcolo nella cella B1 fosse eseguito il 31/01 e rimanesse invariato al variare della data, così come il 28/02 nella cella B2, come il 31/03 nella B3 ecc. ecc.

Grazie

 

 

Versione di Excel
Sistema operativo
 
Postato : 18/03/2021 10:53
MAURO
(@mauro)
Post: 0
New Member
Avviatore di Topic
 

Scusate, per essere precisi mi sono dimenticato di dire che il valore della cella C1 varia spesso, anche una volta ogni 2/3 giorni. grazie

 
Postato : 18/03/2021 11:09
gianfranco55
(@gianfranco55)
Post: 1798
Moderatore
 

ciao

se ho capito

=SE.ERRORE(SE(OGGI()>=FINE.MESE(DATA(ANNO(OGGI());MESE(A1&1);1);0);12/$C1;"");"")

 

ma il valore varia solo durante il mese vero?

non dopo

 
Postato : 18/03/2021 11:14
MAURO
(@mauro)
Post: 0
New Member
Avviatore di Topic
 

@gianfranco55 il valore in C1 cambia un paio di volte a settimana per tutto l'anno.

 
Postato : 18/03/2021 11:25
gianfranco55
(@gianfranco55)
Post: 1798
Moderatore
 

ciao

non ci capiamo

cambierà in base alla data

se cambia in febbraio influisce anche sui dati di gennaio?

sarà c1 per gennaio

c2 per febbraio

 

 

 
Postato : 18/03/2021 12:13
MAURO
(@mauro)
Post: 0
New Member
Avviatore di Topic
 

@gianfranco55 Ciao GianFranco, il dato in C1 cambia sempre un paio di volte a settimana per tutta la vita del file, io vorrei che ad ogni ultimo giorno di ogni mese della vita del file (anche diversi anni), venga fatto un calcolo e il suo risultato venga messo dentro la cella B1, B2 ecc ecc e rimanga immutabile al trascorrere del tempo. Riferito alla tua domanda, se cambia in febbraio non deve interferire su tutti i mesi precedenti dove questo calcolo è già stato eseguito. Dimmi se mi sono fatto capire. Grazie della cortesia

 
Postato : 18/03/2021 12:21
MAURO
(@mauro)
Post: 0
New Member
Avviatore di Topic
 

Aggiungo, riferito al mio file di esempio, con C1 = a 150 gennaio e febbraio mi daranno 0,08. Ma se per esempio il 31/03 C1 è uguale a 200, B3 diventerà 0,06, mentre B1 e B2 devono rimanere 0,08 come calcolato nei loro rispettivi ultimi giorni. Durante il passare dei giorni di marzo il risultato di B3 varierà al variare di C1, ma al 31/01 si fissa e rimarrà quello per sempre

 
Postato : 18/03/2021 12:32
gianfranco55
(@gianfranco55)
Post: 1798
Moderatore
 

ora ho capito

C1 è un fisso

non vengono messi dati in c2 ecc...

ci vuole il vba

e io lo conosco pochissimo

vediamo gli esperti

 
Postato : 18/03/2021 13:07
MAURO and MAURO reacted
MAURO
(@mauro)
Post: 0
New Member
Avviatore di Topic
 

@gianfranco55 GRAZIE LO STESSO

 
Postato : 18/03/2021 13:34
Marius44
(@marius44)
Post: 339
Moderatore
 

 

Ciao

Innanzi tutto la colonna A deve essere impostata con mese ed anno (visto che dici che il file potrebbe durare tanti anni), quindi Formato celle -> Personalizzato mmmm-aa;@

Poi inserisci questo codice in un Modulo standard e associalo ad una forma o ad un pulsante (non ActiveX)

Option Explicit

Sub prova()
Dim i As Long, ur As Long, num As Double, dRif As Double
Dim mese As Integer, anno As Integer
ur = Cells(Rows.Count, 1).End(xlUp).Row
num = Cells(1, 3).Value
dRif = Int(Now())
mese = Month(dRif)
anno = Year(dRif)
For i = 1 To ur
  If Month(Cells(i, 1)) = mese And Year(Cells(i, 1)) = anno Then
    Cells(i, 2) = 12 / num
  End If
Next i
End Sub
 
Postato : 18/03/2021 17:30
MAURO
(@mauro)
Post: 0
New Member
Avviatore di Topic
 

@marius44 GRAZIE MILLE, ci proverò, se però volessi usare la colonna A per i mesi e mettere nelle colonne dopo i vari anni? (ex: colonna B=2021, colonna C=2022, colonna D=2023 ecc ecc, naturalmente spostando la vecchia colonna C in, non so facciamo colonna Z1) Questo è possibile? 

 
Postato : 18/03/2021 18:05
Marius44
(@marius44)
Post: 339
Moderatore
 

Ciao

Sì, si può fare (cambia un po', però in maniera sostanziale, la ricerca dell''uguaglianza mese-anno con la data odierna impostata nel codice come dRif) ma dipende dalla tua conoscenza di VBA altrimenti sarai costretto a dipendere da altri.

 

Ciao,

Mario

 
Postato : 18/03/2021 18:47
gianfranco55
(@gianfranco55)
Post: 1798
Moderatore
 

ciao

marius

 

ma non si semplifica la cosa se nella colonna A

scrive direttamente 

=FINE.MESE(DATA(ANNO(OGGI());RIF.RIGA(A1);1);0)

e la tira in giù

formatta mmmm

ed è a cavallo

 

si può semplificare

correggimi se sbaglio

Option Explicit

Sub prova()
Dim i As Long, ur As Long, num As Double, dRif As Double
Dim mese As Integer, anno As Integer
ur = Cells(Rows.Count, 1).End(xlUp).Row
num = Cells(1, 3).Value
For i = 1 To ur
  If Cells(i, 1) = Date Then
    Cells(i, 2) = 12 / num
  End If
Next i
End Sub
 
Postato : 18/03/2021 19:04
Marius44
(@marius44)
Post: 339
Moderatore
 

Ciao @gianfranco55

Non credo che si risolva. Oggi è il 18 di marzo 2021 (questa è la data che ti dà la funzione Date che hai impostato nella macro). Se cerchi l'uguaglianza (hai inserito questo codice: If Cells(i, 1) = Date Then) non la troverai mai in quanto la cella della colonna A porta la data di fine mese (dalla formula che hai indicato al post precedente), ovvero la troverai SOLO se Date è uguale alla fine del mese.

 

Oppure mi son perso qualcosa per strada .... ? 

Ciao,

Mario

 
Postato : 18/03/2021 22:32
gianfranco55
(@gianfranco55)
Post: 1798
Moderatore
 

ciao

ti sei perso

io vorrei che ad ogni ultimo giorno di ogni mese

in pratica a fine mese il dato in c1 deve essere inserito

in colonna B dove viene fatto il calcolo 12/C1

ecco perchè ho messo tutti i fine mese

al 31/01 scriverà in gennaio

al 28/02 scriverà in febbraio ecc...

 
Postato : 18/03/2021 22:51
Pagina 1 / 2
Condividi:
My Agile Privacy
Questo sito utilizza cookie tecnici e di profilazione. Cliccando su accetta si autorizzano tutti i cookie di profilazione. Cliccando su rifiuta o la X si rifiutano tutti i cookie di profilazione. Cliccando su personalizza è possibile selezionare quali cookie di profilazione attivare.
Attenzione: alcune funzionalità di questa pagina potrebbero essere bloccate a seguito delle tue scelte privacy
     Scarica il nostro ebook gratuito     

Unisciti a oltre 35.000 professionisti
che hanno già scelto di semplificare il proprio lavoro
e aumentare la produttività con la nostra newsletter!

Scarica l’ebook con i
migliori trucchi e suggerimenti per Excel
selezionati per te da Excel Academy

Download