Condividi:        

Macro per fissare la data al giorno prima

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

Macro per fissare la data al giorno prima

Postdi Making » 07/09/18 10:26

Ciao,
vorrei un aiuto per scrivere una macro che inserisce la data al giorno precedente in una cella del foglio XL.
Grazie in anticipo.
Making
Utente Junior
 
Post: 49
Iscritto il: 22/07/15 12:50

Sponsor
 

Re: Macro per fissare la data al giorno prima

Postdi Making » 07/09/18 10:46

spiego meglio, la macro aggiorna una serie di valori dopodichè deve "fissare" la data che dev'è essere quella del giorno precedente poichè i dati sono relativi alla sera prima e non può essere la classica funzione adesso() poichè aprendo il file in un data successiva la data si aggiornerebbe in automatico perdendo quella reale di aggiornamento dei dati.
Making
Utente Junior
 
Post: 49
Iscritto il: 22/07/15 12:50

Re: Macro per fissare la data al giorno prima

Postdi Marius44 » 07/09/18 14:55

Ciao

un piccolo suggerimento: quando hai impostato la tua domanda, rileggila e mettiti dall'altra parte del video. Immagina di vedere chi legge se capisce cosa vuoi dire.

Perchè questa premessa? Per dirti che non ho capito se "vuoi una nuova macro" oppure se "vuoi corretta una macro esistente".
Ancora. Se hai già una macro che "aggiorna i dati" basta inserire un codice che fissi la data di aggiornamento dei dati, la assegni ad una variabile e, infine, scriva il valore di detta variabile sul Foglio. Alla eventuale riapertura del Foglio se la cella con la data è piena, salta il passo precedente.

Ciao,
Mario
Marius44
Utente Senior
 
Post: 655
Iscritto il: 07/09/15 22:00

Re: Macro per fissare la data al giorno prima

Postdi Anthony47 » 08/09/18 01:11

Mario, io ho capito che l'utente ha gia' una macro che "aggiorna una serie di valori", quindi bisogna solo inserire la data.
Questo si puo' ottenere aggiungendo al codice esistente la riga
Codice: Seleziona tutto
Sheets("QualeFoglio").Range("QualeRange").value = int(now)-1


In assenza di informazioni sulla struttura dei dati si puo' solo rimanere sul generico, Making adattera' al suo caso.
Io avrei dei dubbi su come comportarsi il Lunedì, ma per ora non mi sono complicato la vita.

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

Re: Macro per fissare la data al giorno prima

Postdi Making » 09/09/18 17:20

esatto, grazie Anthony
Making
Utente Junior
 
Post: 49
Iscritto il: 22/07/15 12:50

Re: Macro per fissare la data al giorno prima

Postdi Marius44 » 09/09/18 18:28

Buonasera a tutti

@Anthony47
ma il codice da te suggerito non va implementato con altro codice che alla prossima riapertura del file, magari fra una settimana, mi eviti di mettere la data odierna - 1 giorno?
Oppure mi sfugge qualcosa.

Ciao,
Mario
Marius44
Utente Senior
 
Post: 655
Iscritto il: 07/09/15 22:00

Re: Macro per fissare la data al giorno prima

Postdi Anthony47 » 09/09/18 23:10

Mario, l'istruzione pubblicata scrive una data non una formula; quindi il dubbio a me non e' venuto.
Ma forse adesso e' a me che sfugge qualcosa del tuo ragionamento :-?
Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Macro per fissare la data al giorno prima

Postdi Marius44 » 10/09/18 07:04

Ciao
Sono un testone :D
File vergine, ho inserito un Modulo standard con questo codice
Codice: Seleziona tutto
Sub data()
Sheets("Foglio1").Range("A1").Value = Int(Now) - 1
End Sub

e l'ho associato ad un pulsante.
Quando clicco sul pulsante nella cella A1 mi appare la data di ieri (09/09/2018). Salvo e chiudo. E fin qui tutto OK.
Giovedì 13/9 riapro il file e la cella A1 mostra 09/09/2018. Clicco sul pulsante. Cosa mostrerà la cella A1?
Ovviamente 12/09/2018, quindi cambia la data e non è quanto richiesto.
A mio modesto parere il codice dovrebbe essere questo:
Codice: Seleziona tutto
Sub data()
If Sheets("Foglio1").Range("A1").Value = "" then
  Sheets("Foglio1").Range("A1").Value = Int(Now) - 1
End Sub

Il Codice, evitando il pulsante, si potrebbe inserire nel Modulo Questa_Cartella_di_lavoro.

Ecco ciò, spero di essere stato chiaro, che intendo.
Ciao,
Mario
Marius44
Utente Senior
 
Post: 655
Iscritto il: 07/09/15 22:00

Re: Macro per fissare la data al giorno prima

Postdi Anthony47 » 10/09/18 11:15

Facciamo che siamo testoni entrambi...

Io avevo scritto:
Mario, io ho capito che l'utente ha gia' una macro che "aggiorna una serie di valori", quindi bisogna solo inserire la data.

Questo si puo' ottenere aggiungendo al codice esistente la riga
Codice: Seleziona tutto
    Sheets("QualeFoglio").Range("QualeRange").value = int(now)-1

In assenza di informazioni sulla struttura dei dati si puo' solo rimanere sul generico, Making adattera' al suo caso.


Quindi e' vero che il codice "va implementato con altro codice", ma l'avevo gia' segnalato; pensavo tu facessi riferimento ad altro.
D'altra parte il problema non si pone solo per la data, ma per tutti i dati che la macro di Making importa.

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

Re: Macro per fissare la data al giorno prima

Postdi Marius44 » 10/09/18 13:30

Ciao Anthony
sembra che il richiedente sia ... latitante.

Ciao,
Mario
Marius44
Utente Senior
 
Post: 655
Iscritto il: 07/09/15 22:00


Torna a Applicazioni Office Windows


Topic correlati a "Macro per fissare la data al giorno prima":


Chi c’è in linea

Visitano il forum: Nessuno e 68 ospiti