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
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
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 FileQuando 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
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 ?
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
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