È soltanto un Pokémon con le armi o è un qualcosa di più? Vieni a parlarne su Award & Oscar!
 
Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Come portare la selezione sulla data del giorno ?

Ultimo Aggiornamento: 26/05/2018 17:11
Post: 45
Registrato il: 03/03/2014
Città: TORINO
Età: 54
Utente Junior
2007
OFFLINE
25/05/2018 17:25

Buona sera.

All'apertura del file excel come posso fare per fare in modo che la selezione si porti automaticamente sulla cella che contiene la data del giorno ?

Ho le date nella colonna B formattate così: "mercoledì-16-05-2018"



[Modificato da sputnik_r 25/05/2018 17:25]
Post: 2.972
Registrato il: 03/04/2013
Utente Veteran
Excel 2000 - 2013
OFFLINE
25/05/2018 18:43

Buona sera, sputnik;
normalmente io uso:

Option Explicit

Private Sub Workbook_Open()
Dim Titolo As String, Messaggio As String, Default As String
Dim DtX As Date
Dim NRc As Integer
    
    Sheets("Calendario").Select
        Titolo = "Selezione Data"
        Messaggio = "Inserisci Data (gg/mm/aaaa) da selezionare"
        Default = Date
    DtX = Application.InputBox(Messaggio, Titolo, Default)
        NRc = 4
    Do While Cells(NRc, 2) <> ""
        If Cells(NRc, 2).Value = DtX Then
            Cells(NRc, 2).Select
                Exit Do
        End If
            NRc = NRc + 1
    Loop
End Sub

Nell'ImputBox la Data va inserita come gg/mm/aaaa; non so se questo possa crearti problemi.




A disposizione.

Buona serata.

Giuseppe

Windows XP - Excel 2000
Windows 10 - Excel 2013
Post: 1.863
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
25/05/2018 18:49

Ciao
in alternativa un codice da inserire sull'evento open del tuo documento.

Nome foglio=Foglio1
date a partire da B2

Private Sub Workbook_Open()
Worksheets("Foglio1").Select
ur = Range("B" & Rows.Count).End(xlUp).Row
With Range("B2:B" & ur)
    Set c = .Find(Date, LookIn:=xlValues, lookat:=xlWhole)
    If Not c Is Nothing Then
        Application.Goto reference:=Worksheets("Foglio1").Range(c.Address), scroll:=True
        Exit Sub
    Else
        mcel = Application.WorksheetFunction.Match(CDbl(Date), Range("B2:B" & ur), 1)
        Application.Goto reference:=Worksheets("Foglio1").Range("B" & mcel + 1), scroll:=True
    End If
End With
End Sub


Saluti




Domenico
Win 10 - Excel 2016
Post: 45
Registrato il: 03/03/2014
Città: TORINO
Età: 54
Utente Junior
2007
OFFLINE
25/05/2018 19:04

Buona sera Domenico e Giuseppe
Grazie mille appena riesco li provo entrambi.
Post: 46
Registrato il: 03/03/2014
Città: TORINO
Età: 54
Utente Junior
2007
OFFLINE
25/05/2018 19:41

Sbaglio qualcosa...
non so dove inserire il codice evidentemente, non me ne funziona nessuna delle 2
Post: 2.973
Registrato il: 03/04/2013
Utente Veteran
Excel 2000 - 2013
OFFLINE
25/05/2018 21:55

Buona sera, sputnik;
leggo solo ora.

Il Codice VBA va inserito in "Progetto - VBAProject"

Quindi:
-    ALT + F11  (apre VBA)
-    Selezioni il NomeFile (nell'immagine in allegato (_Seleziona Data all'apertura.xlsm) ma tu selezionerai il NomeFile del tuo File)
-    Selezioni e apri "Questa_cartella_di_lavoro"
-    Copia uno dei due Codici VBA proposti
-    Salvi il File

Quando aprirai il File, se hai salvato il mio Codice VBA proposto in Risposta #2 si aprirà ImputBox con la Data del giorno come Default; confermando verrà selezionata la Cella che contiene la data odierna nel calendario in Colonna "B", mentre, modificando la Data proposta verrà selezionata la Cella che contiene la Data scelta nel calendario in Colonna "B".



A disposizione.

Buona serata.

Giuseppe

Windows XP - Excel 2000
Windows 10 - Excel 2013
Post: 692
Registrato il: 16/08/2015
Città: CORDENONS
Età: 67
Utente Senior
Excel 2016-32bit Win11
OFFLINE
25/05/2018 23:18

Per essere più precisi, esattamente come hai ottenuto quella particolare formattazione della data ? hai applicato alla data una formattazione personalizzata tipo ' gggg-gg-mm-aaaa ' o il contenuto della cella è testo puro ?
[Modificato da rollis13 25/05/2018 23:21]

______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
Post: 47
Registrato il: 03/03/2014
Città: TORINO
Età: 54
Utente Junior
2007
OFFLINE
26/05/2018 07:56

Re:
GiuseppeMN, 25/05/2018 21.55:

Buona sera, sputnik;
leggo solo ora.

Il Codice VBA va inserito in "Progetto - VBAProject"

Quindi:
-    ALT + F11  (apre VBA)
-    Selezioni il NomeFile (nell'immagine in allegato (_Seleziona Data all'apertura.xlsm) ma tu selezionerai il NomeFile del tuo File)
-    Selezioni e apri "Questa_cartella_di_lavoro"
-    Copia uno dei due Codici VBA proposti
-    Salvi il File

Quando aprirai il File, se hai salvato il mio Codice VBA proposto in Risposta #2 si aprirà ImputBox con la Data del giorno come Default; confermando verrà selezionata la Cella che contiene la data odierna nel calendario in Colonna "B", mentre, modificando la Data proposta verrà selezionata la Cella che contiene la Data scelta nel calendario in Colonna "B".



A disposizione.

Buona serata.

Giuseppe




Ho capito, funziona benissimo il problema era sula protezione del foglio. Mi va bene il tuo codice però purtroppo dovrebbe funzionare lasciando protetto il foglio altrimenti lo manomettono involontariamente visto che usiamo in tanti...
Post: 48
Registrato il: 03/03/2014
Città: TORINO
Età: 54
Utente Junior
2007
OFFLINE
26/05/2018 07:56

Re:
rollis13, 25/05/2018 23.18:

Per essere più precisi, esattamente come hai ottenuto quella particolare formattazione della data ? hai applicato alla data una formattazione personalizzata tipo ' gggg-gg-mm-aaaa ' o il contenuto della cella è testo puro ?




Si personalizzandola gggg-gg-mm-aaaa
Post: 2.974
Registrato il: 03/04/2013
Utente Veteran
Excel 2000 - 2013
OFFLINE
26/05/2018 08:48

Buona giornata, sputnik;
credo potresti provare con:

Option Explicit

Private Sub Workbook_Open()
Dim Titolo As String, Messaggio As String, Default As String
Dim DtX As Date
Dim NRc As Integer
    
    Sheets("Calendario").Select
        Titolo = "Selezione Data"
        Messaggio = "Inserisci Data (gg/mm/aaaa) da selezionare"
        Default = Date
    DtX = Application.InputBox(Messaggio, Titolo, Default)
        NRc = 4
    Do While Cells(NRc, 2) <> ""
        If Cells(NRc, 2).Value = DtX Then
            ActiveWorkbook.Unprotect Password:="TuaPassword"
                Cells(NRc, 2).Select
                    Exit Do
        End If
            NRc = NRc + 1
    Loop
            ActiveWorkbook.Protect Password:="TuaPassword"
End Sub



A disposizione.

Buon fine settimana.

Giuseppe

Windows XP - Excel 2000
Windows 10 - Excel 2013
Post: 49
Registrato il: 03/03/2014
Città: TORINO
Età: 54
Utente Junior
2007
OFFLINE
26/05/2018 17:11

Re:
GiuseppeMN, 26/05/2018 08.48:

Buona giornata, sputnik;
credo potresti provare con:

Option Explicit

Private Sub Workbook_Open()
Dim Titolo As String, Messaggio As String, Default As String
Dim DtX As Date
Dim NRc As Integer
    
    Sheets("Calendario").Select
        Titolo = "Selezione Data"
        Messaggio = "Inserisci Data (gg/mm/aaaa) da selezionare"
        Default = Date
    DtX = Application.InputBox(Messaggio, Titolo, Default)
        NRc = 4
    Do While Cells(NRc, 2) <> ""
        If Cells(NRc, 2).Value = DtX Then
            ActiveWorkbook.Unprotect Password:="TuaPassword"
                Cells(NRc, 2).Select
                    Exit Do
        End If
            NRc = NRc + 1
    Loop
            ActiveWorkbook.Protect Password:="TuaPassword"
End Sub



A disposizione.

Buon fine settimana.

Giuseppe



Va alla grande, meglio di quel che cercavo. Grazie, buona serata.
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 06:33. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com