View Full Version : EXCEL...come inserire in una cella l'orario che il computer segna sul systray???
Ciao a tutti, sto preparando con excel un foglio elettronico su cui i dipendenti dovranno inserire l'orario di entrata e uscita dall'ufficio...volevo sapere se esisteva una funzione che mi "pescasse" l'orario del systray riportandolo nella cella preposta...in pratica il dipendente dovrebbe solamente cliccare su quella cella e l'orario appare da solo...si può fare??? Grazie a tutti in anticipo!
Non c'e` la possibilita` di fare Inserisci --> data, o qualcosa del genere?
Cmq mi ricordo che con Ctrl+Shift+. (punto) si inserisce l'ora corrente, e con Ctrl+Shift+, (virgola) la data corrente.
Oppure c'e` la funzione adesso(), ma in quanto funzione si aggiorna ogni volta.
Esatto, adesso() mi è inutile perchè dato che c'è orario di entrata e uscita, li aggiorna insieme e sfalsa tutto :(...in automatico proprio non c'è niente???
Potresti registrare una macro; non e` difficile.
ti posizioni sulla cella in cui vuoi inserire l'ora, poi fai Strumenti --> Macro --> Registra nuova macro (non assegnare nessuna combo di tasti), quindi premi Ctrl+Shift+. e nella cella in questione apparira` l'ora; confermi premendo invio, poi interrompi la registrazione della macro con l'apposito tastino di stop che sara` comparso.
Successivamente puoi assegnare la macro ad un'icona da posizionare su una barra.
Cosi` l'utente dovra` solo selezionare la cella che vuole e premere quella determinata icona.
ok domani appena arrivo in ufficio provo e poi ti dico! Per il momento grazie! :)
Uhmmm ho provato ora...ma come assegno l'icona alla macro?? :confused:
Click destro sulla barra, Personalizza
ti aprira` una finestra con le barre e le icone, selezioni la tua icona nella tua solita barra, quindi fai (nella finestra) Modifica selezione --> Assegna macro
Se vuoi una nuova icona la puoi selezionare da questa finestra e trascinarla sulla tua barra degli strumenti. Se in futuro la vorrai togliere la trascini tenendo premuto Alt.
Ciao, allora sono riuscito a mettere l'icona sulla barra...unico problema, ogni volta che la clicco mi da sempre lo stesso orario! (se ad es. ho registrato la macro alle 8:30 anche se apro il file alle 13 e clicco sull'icona mi da 8:30!) dove sbaglio??
Aggioramento...usando =adesso() invece di CTRL+SHIFT+. aggiorna l'orario quando clicco la macro....unico problema...siccome sul foglio c'è orario entrata e orario uscita, quando mi porto su uscita e clicco la macro, sto cretino mi va ad aggiornare pure l'orario di entrata e mi sfalza tutto...i pratica avrei bisogno di fargli capire che le varie celle sono indipendenti...e che voglio che mi aggiorni solo quella su cui sono...aiutoooooo
Sostituisci il codice della macro che hai creato con questo, dovrebbe essere quello che desideri
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=NOW()"
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Ciao
P.S. l'unico problema di questo codice è che ti perdere il contenuto degli appunti perchè lo sovrascrive con la data
Uhmmm scusami tanto, so di essere stupido...xchè non so come modificare il codice! :( In pratica ho sta benedetta cella con la macro...come modifico il codice? Ho provato con visual basic ma non so se è così che devo fare....tra l'altro quando registro la macro uso la funzione adesso, è giusto? In pratica con quel codice posso far inserire in ogni cella l'orario esatto senza andare ad intaccare le altre??? Grazie in ogni caso e perdona l'ignoranza....:(
P.S. Ora come ora avevo pensato di creare solo una cella con la funzione adessio, così che il dipendente doveva solo copiare quell'ora nella cella entrata o uscite...certo che se riuscissi ad automatizzare il tutto...:muro:
Prima avevo risposto troppo in fretta e riconosco di aver scritto una cosa oscena ... ho rivisto il codice e basta una sola riga che elimina anche il problema degli appunti.
Prima raccomandazione fatti una copia del file e lavora su quella.
Premi alt+F8, seleziona la macro (presumo sia chiamata Macro1) e clicca sul tasto Modifica. Ti appare Visua Basic, incolla quanto segue al posto di quello che vedi (attenzione se hai più macro le vedrai una di seguito all'altra, quindi devi sovrascrivere SOLO la Macro1)
Sub Macro1()
ActiveCell.FormulaR1C1 = Now()
End Sub
Chiudi VB ed hai finito.
Vai su qualunque cella tu voglia ed esegui la macro, li apparirà la data e l'ora attuale.
Se hai problemi, fammi sapere. Ciao
Semplicemente G-R-A-N-D-I-S-S-I-M-O! :):winner: Grazie mille ora è perfetto! :) Spero di poterti disturbare in futuro se ne avessi ancora bisogno! :)
Ehmmmm...domamda sciocca! E' possible bloccare le celle...a metà?? Nel senso...vorrei che si potessero inserire i dati solo con la macro...così da non barare nell'orario! Non potendo modificare manualmente la cella l'orario fa fede...senza trucchi! ;) E allo stesso tempo si può fare in modo che il documento non sia stampabile se non tramite inserimento di password??? Graaaazie ancora! (e scusa il rompimento di balle...)
Allora ... ciò che vuoi fare è possibile, ma un pò complicato da spiegare, vediamo se riesco.
1) Formato -> Celle -> Protezione. Ti porta ad una finestra dove trovi la checkbox "Bloccata" con la quale decidi se le celle selezionate in quel momento diverranno bloccate non appena darai il comando relativo.
Nel tuo caso seleziona tutto il foglio e sbloccale tutte, poi seleziona quella della data e la blocchi nuovamente
2) Modifica la macro così:
Sub Macro1()
ActiveSheet.Unprotect "password"
ActiveCell.FormulaR1C1 = Now()
ActiveSheet.Protect "password", DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
Dove 'password' va sostituito con la tua password
Già funziona ... prova a modificare la cella e non potrai, se vuoi sbloccarla usa Strumenti - Protezione -> Rimuovi protezione foglio
3) Il problema è che se ti guardano il codice scoprono la pw ... quindi fai così:
Alt+F11 (si apre VB)
Sulla sinistra trovi "VBAProject (Cartel1.xls)" clicca col dx e scegli 'Proprietà' -> 'Protezione' ed inserisci una pw (anche la stessa di prima)
Salva e chiudi. Riapri e vedrai che l'unico modo per riaprire la macro sarà Alt+F11, doppio clic su VBAProject (Cartel1.xls), ti chiede la pw e poi potrai aprire il Modulo1 che contiene la tua macro
4) Vediamo la stampa ...
Alt+F11
VBAProject (Cartel1.xls) -> ThisWorkbook (doppio clic)
si apre un modulo bianco, incolla questo:
Private Sub Workbook_BeforePrint(cancel As Boolean)
Value = InputBox("Inserisci password:", "Protezione")
If Value <> "password" Then
cancel = True
If Value <> "" Then MsgBox "Password errata"
End If
End Sub
Nel rigo "If Value <> "password" Then" metti la password che vuoi
Fai le tue prove di stampa e dovrebbe funzionare
Ciao
P.S. è possibile che mi sia incasinato un pò nella lunga descrizione, se hai problemi fammi sapere
Al solito sei stato stragentile...domani appena arrivo in ufficio provo subito! Grazie ancora! :)
Salva e chiudi. Riapri e vedrai che l'unico modo per riaprire la macro sarà Alt+F11, doppio clic su VBAProject (Cartel1.xls), ti chiede la pw e poi potrai aprire il Modulo1 che contiene la tua macro
Mi sa che stavolta mi sono spiegato male io :) Non ho ancora provato perchè i files sono in ufficio ma mi sembra di aver capito che così blocca la macro...io intendevo se si poteva bloccare la modifica manuale della cella lasciando nel contempo la possibiltà di cliccare sul pulsante macro per inserire i dati...in pratica...se provi a modificare la cella ti dice che è bloccato...se clicchi sull'icona macro ti inserisce l'orario..ma senza usare pass in questo caso...oddio suona contorto lo so! :mc:
Ho capito bene quello che vuoi fare ... è stata la mia frase poco felice ...
Per bloccare una cella e non consentirne la modifica hai bisogno di una password altrimenti chi vuole fare il furbo toglie la protezione e fa quello che vuole!
Visto che deve essere la macro ad impostare la data, essa stessa deve prima togliere la protezione (con la pw), fare la modifica poi rimettere la protezione ... così facendo hai la pw scritta sul codice della macro ... chi vuole fare il furbo, può andarsi a leggere il codice ed usare la pw per togliere la protezione alla cella, quindi devi usare un'altra pw per impedire la visualizzazione del codice stesso! Ecco il motivo di tante password!
Ciao
Ricevuto! ;) Sono appena arrivato in ufficio, provo subito le modifiche e poi ti dico!
Uhmmm sorgono due problemucci...ho seguito passo passo ma ora il problema più grosso è che avendo usato la stessa pass per le celle e per la macro, ora me la riconosce solo sbloccare la macro sotto VB mentre per le celle mi dice che è sbagliata! Ho provato a rimodificare la macro ma così me la inserisce senza pass e basta...il foglio ora è protetto! L'altro problema invece riguarda il fatto che sì, le celle sono bloccate...ma nel senso che non posso deciderne il formato etc ma posso ancora scriverci dentro l'orario a mano! Mentre premendo la macro mi chiede la pass...sarebbe giusto il contrario! con la macro ( che non possono barare) si immette in automatico l'orario..se provano a scrivere dentro la cella invece devono ricevere il messaggio che non si può perchè la cella o il foglio sono bloccati...provo a risolvere per la pass adesso, ma cmq ne ho una copia come mi avevi saggiamente suggerito ;)
P.S. Quando dici "poi blocca quella della data" (che per sarebbe l'orario ma penso sia lo stesso) ti riferisci a quelle celle dove deve essere inserito l'orario di ingresso\uscita giusto?
P.P.S. La protezione devo comunque attivarla prima del passaggio 1) ? altrimenti non la prende...
Aggiornamento...per prima cosa imposto la protezione e scelgo la pass...per errore avevo lasciato alcune celle modificabili al di là della pass...ora è risolto...però la macro mi fa una cosa strana...tenta di riaprire il documento sul quale sto lavorando! Mi dice che è già aperto e che non possono esserci due documenti uguali aperti allo stesso momento...in pratica se lo ricarica...perchè?? Se lo rinomimo infatti apre il vecchio documento e mi piazza la macro...che ci sia un collegamento nella macro??
Perfetto! Ho rincontrollato tutto e ora funziona! Grazie mille sei stato grande! :)
Stamattina non ti ho potuto seguire, ero al lavoro … cmq felice che tu abbia risolto.
Ciao:) :) :)
Ehehehe alla fine a furia di sbatterci la testa ho capito dove sbagliavo! Cmq grandi quei codici macro...dovrei impararne un pò! ;)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.