Condividi:        

Funzione Oggi

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

Funzione Oggi

Postdi Raffenna » 25/09/09 16:34

Salve, il mio quesito è questo:
ho nella prima colonna una lista di utenze e nella seconda devo indicare il suo giorno di utilizzo;
invece di indicare ogni volta la data digitandola vorrei poterla inserire schiacciando un pulsante(icona) e inserire automaticamente la data. Il problema è che se uso la fuonzione oggi() quando passa la mezzanotte la data si aggiorna e quindi l'utenza che è stata avviata oggi domani risulterà avviata nella giornata di domani.
Come posso risolvere il mio problema?
Come faccio ad associare ad un'immagine (icona) la macro da far eseguire per ogni utenza?
grazie mille
Raffenna
Newbie
 
Post: 1
Iscritto il: 25/09/09 16:20

Sponsor
 

Re: Funzione Oggi

Postdi pietrol » 25/09/09 23:43

Ciao Raffenna
per inserire la data puoi usare la combinazione di tasti CTRL+; (punto e virgola) che inserisce la data di sistema nella cella attiva.

ciao
pietrol
il lupo ululà, il castello ululì
pietrol
Utente Senior
 
Post: 270
Iscritto il: 07/01/09 14:34

Re: Funzione Oggi

Postdi Flash30005 » 29/09/09 08:35

Ciao Raffenna
quanto indicato da Pietrol è una maniera veloce e senza macro per inserire la data nella cella attiva e ha un vantaggio rispetto a qualsiasi macro che, in quanto tale, ripete l'operazione ogni volta che viene attivata e non è "controllabile" se l'attivazione viene fatta in automatico all'apertura del foglio (escluderei pulsanti di comando per evitare dimenticanze di attivazione degli stessi).

Nel tuo quesito non specifichi se hai un elenco di utenze e quale utilizzo fai del foglio, nel senso oggi (io come utente) apro il foglio inserisco la data di oggi, domani cosa faccio? Apro lo stesso foglio oppure ne apro un altro?
Io ho immaginato un elenco di utenti che si ripetono più volte (nella colonna A da A2 in poi) e in B2:Bx la data da inserire ad ogni apertura del file di excel quindi ho creato questa macro
Codice: Seleziona tutto
Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpbuffer As String, nSize As Long) As Long
Sub DataUtente()
Dim utente As String
Dim abc As String
Dim sBuffer As String
Dim lSize As Long
    sBuffer = Space(255)
    lSize = Len(sBuffer)
    Call GetUserName(sBuffer, lSize)
    utente = UCase(Left(Trim(sBuffer), 80))
    colu = 0
    Dim Ut As String
    Do
        colu = colu + 1
        If Mid(utente, colu, 1) = Chr(0) Then Exit Do
        Ut = Ut & Mid(utente, colu, 1)
    Loop
    utente = Trim(Ut)
 URE = Worksheets("Foglio1").Cells(Rows.Count, 1).End(xlUp).Row
For RU = 1 To URE
    If Worksheets("Foglio1").Cells(RU, 1).Value = utente Then
        If Worksheets("Foglio1").Cells(RU, 2).Value = "" Then
        Worksheets("Foglio1").Cells(RU, 2).Value = Date
        GoTo esci
        End If
    End If
Next RU
esci:
End Sub


per attivarala ho pensato fosse comodo farlo attraverso l'apertura del file con il comando su Open in ThisWorkbook

Codice: Seleziona tutto
Private Sub Workbook_Open()
Call DataUtente
End Sub


"Legge" l'utente del sistema operativo,
controlla che corrisponda ad una voce dell'elenco
alla prima corrispondenza controlla che la cella Bx (a fianco del nome) sia vuota e in questo caso inserisce la data del Pc.
Alla successiva riapertura del file, la macro provvederà a scrivere la data alla seconda corrispondenza (la prima non essendo vuota non verrà sovrascritta)

Ho pubblicato questa macro perché penso possa essere utile anche ad altri utenti più che per la tua esigenza effettiva.

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Funzione Oggi

Postdi apprendistaIT » 13/10/09 14:34

pietrol ha scritto:Ciao Raffenna
per inserire la data puoi usare la combinazione di tasti CTRL+; (punto e virgola) che inserisce la data di sistema nella cella attiva.

ciao
pietrol


Ciao a tutti, utilizzo Calc di Openoffice e anch'io sono interessato ad aggiungere la data in una cella ma la combinazione di tasti rapidi di excel non funziona su calc, voi sapete quali siano? :)
Grazie
Ciao
Ciao
apprendistaIT
Utente Junior
 
Post: 63
Iscritto il: 07/10/09 15:45

Re: Funzione Oggi

Postdi Anthony47 » 13/10/09 17:36

Se non trovi la risposta, fatti una macro contenente l' istruzione Activecell.value=Now (oppure =Int(Now), se vuoi evitare la parte oraria) e assegnagli un tasto di scelta rapida a piacere.

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


Torna a Applicazioni Office Windows


Topic correlati a "Funzione Oggi":


Chi c’è in linea

Visitano il forum: Nessuno e 89 ospiti