Risultati da 1 a 21 di 21

Discussione: Data



  1. #1
    L'avatar di Franco71
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    46
    Messaggi
    41
    Versione Office
    Excel 2010
    Likes ricevuti
    0
    Likes dati
    10

    Post Data

    Ciao ho questo problema, ogni volta che inserisco un dato nella cella "A1"(la lettura del contatore gas) vorrei che si inserisca automaticamentenella cella nella "A2" la data del giorno in cui ho inserito il dato. ho provato con la formula "ADESSO" ma io ho bisogno che la data rimanga la stessa di quando ho inserito il dato non che si aggiorni automaticamente.
    grazie mille per mi aiuta se possibile.:111:

  2. #2
    L'avatar di Gerardo Zuccalà
    Clicca e Apri
    Data Registrazione
    May 2015
    Località
    Milano, Italy
    Età
    49
    Messaggi
    4916
    Versione Office
    2013
    Likes ricevuti
    1117
    Likes dati
    1125
    Ciao Franco71
    Benvenuto in ForumExcel.it
    io in questi casi utilizzo una scorciatoia con i tasti di scelta Rapida
    CTRL + maiscolo + punto e virgola
    forse si puo fare qualcosa con il VBA ma non sono sicuro
    Ciao

  3. #3
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    3200
    Versione Office
    Excel2010
    Likes ricevuti
    624
    Likes dati
    154
    Ciao Franco
    nel modulo di classe del tuo foglio inserisci il seguente codice
    Codice: 
    Private Sub Worksheet_Change(ByVal Target As Range)
        If Not Intersect(Target, Range("A1")) Is Nothing Then
            Range("B1") = Now
        End If
    End Sub
    Ovviamente, ogni volta che cambi quanto scritto in A1 in A2 vedrai la data del giorno in cui scrivi.
    Dimenticavo:
    la cella B1 deve essere formattata per ricevere una data;
    il file deve essere salvato contenente macro.

    Fammi sapere. Ciao,
    Mario

  4. #4

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7106
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2059
    Likes dati
    1296
    Ciao Franco,
    prendi con le pinze la mia risposta è solo per allenamento a scrivere codice

    Codice: 
    Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)   
       If Cells(1, 1).Value <> "" Then
            Range("A2").Select
            ActiveCell.FormulaR1C1 = "=TODAY()"
            Range("a1").Select
        End If
    End Sub

  5. #5
    L'avatar di Franco71
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    46
    Messaggi
    41
    Versione Office
    Excel 2010
    Likes ricevuti
    0
    Likes dati
    10

    Funziona ma...

    Citazione Originariamente Scritto da Marius44 Visualizza Messaggio
    Ciao Franco
    nel modulo di classe del tuo foglio inserisci il seguente codice
    Codice: 
    Private Sub Worksheet_Change(ByVal Target As Range)
        If Not Intersect(Target, Range("A1")) Is Nothing Then
            Range("B1") = Now
        End If
    End Sub
    Ovviamente, ogni volta che cambi quanto scritto in A1 in A2 vedrai la data del giorno in cui scrivi.
    Dimenticavo:
    la cella B1 deve essere formattata per ricevere una data;
    il file deve essere salvato contenente macro.

    Fammi sapere. Ciao,
    Mario
    Ciao Mario Grazie per la veocità della risposta, la macro funziona ma funziona solo per la riga 1 quando passo alla riga 2 e inserisco il secondo dato la data non compare.
    Grazie

  6. #6
    L'avatar di Franco71
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    46
    Messaggi
    41
    Versione Office
    Excel 2010
    Likes ricevuti
    0
    Likes dati
    10
    Ciao Mario Grazie per la veocità della risposta, la macro funziona ma funziona solo per la riga 1 quando passo alla riga 2 e inserisco il secondo dato la data non compare.
    Grazie

  7. #7

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7106
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2059
    Likes dati
    1296
    Ma nella riga 2 nella cella A2 c'è la data!
    Dovresti dirci in quali celle inserisci i dati e in quali celle devono comparire le date, l'ideale sarebbe che postassi un file di excel come esempio.

  8. #8
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    3200
    Versione Office
    Excel2010
    Likes ricevuti
    624
    Likes dati
    154
    Sostituisci la precedente con questa
    Codice: 
    Private Sub Worksheet_Change(ByVal Target As Range)
        If Not Intersect(Target, Range("A:A")) Is Nothing Then
            Range("B" & Target.Row) = Now
        End If
    End Sub
    Tieni presente che è in verticale per la colonna A. Quando scrivi qualcosa, in qualsiasi riga della colonna, nella corrispondente riga della colonna B mette la data.

    Ciao,
    Mario

  9. #9
    L'avatar di Franco71
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    46
    Messaggi
    41
    Versione Office
    Excel 2010
    Likes ricevuti
    0
    Likes dati
    10
    Grazieeeee funziona alla grande era proprio quello che mi serviva!!!!

  10. #10
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    3200
    Versione Office
    Excel2010
    Likes ricevuti
    624
    Likes dati
    154
    Grazie per il riscontro positivo.
    Se la tua domanda è stata risolta segna questa discussione come [RISOLTO]
    Vai nella barra dei menu, situata all’inizio di questa discussione, troverai il menu “Strumenti Discussione” quindi scegli “Segna questo Thread come risolto”
    Ciao
    Mario

  11. #11

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7106
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2059
    Likes dati
    1296
    Ottimo codice, Marius! :255:
    Giusto per sapere perché è meglio usare la forma negativa del SE?
    If not ... is nothing

  12. #12

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4016
    Versione Office
    2013
    Likes ricevuti
    1225
    Likes dati
    923
    Ciao a tutti,
    @ges
    prendi con le pinze quello che sto per dirti...

    Partiamo dal fatto che il metodo "Intesect" restituisce un "range", per meglio dire, se nessuna cella del range che abbiamo definito è stata modificata, restituisce un "range vuoto" quindi "nothing".
    Detto questo, scrivendo "If Not... is Nothing" gli stai semplicemente dicendo che se il valore restituito NON è un "range vuoto" (nessuna cella del range è stata modificata), quindi "nothing", allora fai qualcosa.

    Ma lo stesso risultato dovresti ottenerlo anche scrivendo in questo modo:

    If Intersect(Target, Range("A:A"))>0

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  13. #13

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7106
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2059
    Likes dati
    1296
    Grazie Cromagno,
    sempre molto chiaro.

    Intanto seguo alla lettera il tuo consiglio:288:

    Citazione Originariamente Scritto da cromagno Visualizza Messaggio
    Ciao a tutti,
    @ges
    prendi con le pinze quello che sto per dirti...

    Partiamo dal fatto che il metodo "Intesect" restituisce un "range", per meglio dire, se nessuna cella del range che abbiamo definito è stata modificata, restituisce un "range vuoto" quindi "nothing".
    Detto questo, scrivendo "If Not... is Nothing" gli stai semplicemente dicendo che se il valore restituito è un "range vuoto" (nessuna cella del range è stata modificata), quindi "nothing", allora fai qualcosa.

    Ma lo stesso risultato dovresti ottenerlo anche scrivendo in questo modo:

    If Intersect(Target, Range("A:A"))>0

  14. I seguenti utenti hanno dato un "Like"


  15. #14
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    3200
    Versione Office
    Excel2010
    Likes ricevuti
    624
    Likes dati
    154
    Scusatemi, ero fuori.

    @ges
    Grazie per i complimenti

    @cromagno
    Non avrei saputo dire meglio. Grazie.

    Ciao a tutti,
    Mario

  16. #15
    L'avatar di Gerardo Zuccalà
    Clicca e Apri
    Data Registrazione
    May 2015
    Località
    Milano, Italy
    Età
    49
    Messaggi
    4916
    Versione Office
    2013
    Likes ricevuti
    1117
    Likes dati
    1125
    Ciao Ragazzi
    @ Mario come puoi vedere dall'immagine puoi notare che ho fatto passo passo come hai scritto nel post #8
    ho aperto un modulo di classe, salvato in .xlsm ma niente non funziona
    dove sbaglio?


  17. #16

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4016
    Versione Office
    2013
    Likes ricevuti
    1225
    Likes dati
    923
    Ciao Gerardo,
    con la frase: "nel modulo di classe del tuo foglio" si intende di inserire il codice nel "Foglio" ("Worksheet1" ad esempio) dove deve avvenire l'evento in questione ("Change"), non creare un nuovo "modulo di classe".


    [EDIT]
    Mario, scusami se rispondo in tua vece.

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  18. #17
    L'avatar di Gerardo Zuccalà
    Clicca e Apri
    Data Registrazione
    May 2015
    Località
    Milano, Italy
    Età
    49
    Messaggi
    4916
    Versione Office
    2013
    Likes ricevuti
    1117
    Likes dati
    1125
    Citazione Originariamente Scritto da cromagno Visualizza Messaggio
    Ciao Gerardo,
    con la frase: "nel modulo di classe del tuo foglio" si intende di inserire il codice nel "Foglio" ("Worksheet1" ad esempio) dove deve avvenire l'evento in questione ("Change"), non creare un nuovo "modulo di classe".
    .
    Ciao Cromagno
    aaaahh Ok funziona!:)
    Avrei dovuto leggere meglio quello che ha scritto Mario, comunque forse dovrei imparare a tradurre questi codici

    Private Sub Worksheet_Change(ByVal Target As Range)

    per cui ogni volta che trovo un codice composto dalla parola "worksheet_Change" (dopo la parola Sub o Private Sub) vuol dire che deve essere inserita come UDF (evento)
    in quali altri casi devo inserire il codice come Evento(UDF), come faccio a saperlo? c'è una regola fissa che mi permette di capire se è un evento?
    ciao a tutti

  19. #18
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    3200
    Versione Office
    Excel2010
    Likes ricevuti
    624
    Likes dati
    154
    Un ciao a tutti

    @cromagno - ancora grazie per le spiegazioni che hai dato.

    @Gerardo - forse sono stato un po' ... criptico nel suggerimento. Scusa.
    Come ha detto cromagno, quando apri l'Editor di VB nella parte sinistra trovi l'elenco dei Fogli. Se clicchi due volte su un foglio si apre, sulla destra, il relativo modulo (di classe). Ora, se guardi bene l'intestazione del riquadro è divisa in due parti: in quella più a sinistra c'è scritto (generale) e in quella più a destra (dichiarazioni).
    Seleziona la linguetta di quello di sinistra e appare Worksheet. Se ci clicchi sopra viene fuori la prima Private Sub del Foglio (che per default è Worksheet_SelectionChange ed il suo parametro). Non fare nulla ma clicca sulla linguetta a destra che adesso ti dice SelectionChange. Appena la apri c'è l'elenco di tutti gli eventi del Foglio.
    Chiedevi quando usare SelectionChange e quando Change: nel primo caso l'evento viene scatenato quando "si cambia selezione" (se dalla A1 vado in B1 ecco che si scatena l'evento); nel secondo caso, invece, l'evento si scatena quando c'è un materiale cambiamento nel foglio (in altre parole se scrivo o cancello qualcosa in una cella, ma non se seleziona un'altra cella).

    E per oggi basta così.
    Ciao,
    Mario

  20. #19

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4016
    Versione Office
    2013
    Likes ricevuti
    1225
    Likes dati
    923
    Ciao Gerardo,
    un attimo, non facciamo confusione…


    La UDF (User Defined Function) è per l’appunto una “funzione creata dall’utente” e la definisci con “Function” o “Private Function”. Ha la sintassi simile a quella di un “evento” ma sono due cose diverse.

    Gli “eventi” servono per eseguire una routine al verificarsi di tale evento (cioè il “monitoraggio” di certe condizioni risulta essere VERO). Gli eventi naturalmente si possono creare, ma in VBA ci sono già alcuni eventi predefiniti per alcuni oggetti (Worksheet, Workbook, etc…).
    Quindi, rispondendo alla tua domanda… non saprei che rispondere :127:

    Nel senso, che utilizzi gli eventi quando ti occorrono. Sono come delle sub-routine alle quali si ricorre se si sa che un certo evento possa verificarsi. Come ti dicevo prima, quelli già integrati in VBA sono quelli più comunemente usati ma non sono gli unici (così come le funzioni integrate in excel, ma in caso di necessità puoi crearne delle personali…. UDF).

    [EDIT]
    Ancora scusa Mario, stavo scrivendo mentre hai risposto... :161:

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  21. #20
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    3200
    Versione Office
    Excel2010
    Likes ricevuti
    624
    Likes dati
    154
    @cromagno - scusa per l'accavallamento. Per il resto(e non c'erano dubbi) ben detto.

    @Gerardo - sto scrivendo alle 21.55 - guarda un po' l'ora segnata dal post.

    Ciao,
    Mario

    PS. Ora s'è messa a posto, hoibò.

  22. #21
    L'avatar di Gerardo Zuccalà
    Clicca e Apri
    Data Registrazione
    May 2015
    Località
    Milano, Italy
    Età
    49
    Messaggi
    4916
    Versione Office
    2013
    Likes ricevuti
    1117
    Likes dati
    1125
    @Mario Grazie ottima Spiegazione, si è aperto un mondo nuovo gli "eventi del foglio"
    @Cromagno grazie per avermi schiarito le idee pensavo che UDF significasse "Evento" in generale.
    e con questa chicca del giorno Saluti tutti e buona notte

Discussioni Simili

  1. [Risolto] estraendo da un data base la data non viene riconosciuta
    Di vitangelo nel forum Domande su Excel in generale
    Risposte: 8
    Ultimo Messaggio: 11/02/17, 17:46
  2. [Risolto] Risultato Data in numeri anziché Data in cifre
    Di svizzera nel forum Domande su Excel in generale
    Risposte: 2
    Ultimo Messaggio: 11/02/17, 16:04
  3. [Risolto] Ricerca data più vicina alla data odierna
    Di KARLO16 nel forum Domande su Excel in generale
    Risposte: 12
    Ultimo Messaggio: 12/12/16, 11:07
  4. [Risolto] COnvertire Testo contenente Data in Inglese in Data in Italiano
    Di cnbgpp69d nel forum Domande su Excel in generale
    Risposte: 5
    Ultimo Messaggio: 06/11/16, 22:55
  5. Come ottenere la data di nascita partendo dall'anno. Una DATA.DIFF inversa ?
    Di ProgrammD69 nel forum Domande su Excel in generale
    Risposte: 8
    Ultimo Messaggio: 03/07/16, 20:14

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •