Ciao Giovanni,
Esempio, un foglio excel con centinaia di colonne. In questo caso ho fatto una prova a creare una sorta di agenda, quindi ci sono centinaia di colonne (giorni) e diverse righe (le ore o le mezze ore della giornata).

oggi è il 3 agosto 2017. L'agenda parte dall'1 gennaio. Quindi significa che se oggi apro l'agenda, dovrò spostare il cursore fino a che non veda come "prima colonna" il 3 agosto 2017. Leggerò o scriverò in agenda ciò che mi interessa, salverò il file e
lo chiuderò. Domani lo riapro, 4 agosto 2017 e mi ritroverei di nuovo il 1° gennaio 2017. Sposterò il cursore in avanti fino a visualizzare il 4 agosto 2017 e così via. Ogni giorno oppure più volte al giorno se l'agenda verrà chiusa e riaperta più volte.
DOMANDA:
E' possibile fare in modo che, prelevando la data del sistema (del computer), il puntatore orizzontale si posizioni direttamente al giorno in cui viene aperto il file?
Quindi lo apro oggi e mi ritrovo direttamente l'agenda con il 3 agosto 2017. La apro il 15 agosto e avrò direttamente il 15 agosto e così via ?
Grazie mille
A presto
Giovanni
Prova qualcosa del genere:
- Alt+F11 per aprire l'editor di VBA
- Alt+IMper inserire un nuovo modulo di codice
- Nel nuovo modulo vuoto, incolla il seguente codice:
'=========>>
Option Explicit
'--------->>
Public Sub TrovaOggi()
Dim WB As Workbook
Dim SH As Worksheet
Dim Rng As Range, rngOggi As Range
Dim sDate As String
Dim vCol As Variant
Const sFoglio As String = "Agenda" '<<=== Modifica
Set WB = ThisWorkbook
Set SH = WB.Sheets(sFoglio)
With SH
Set Rng = .Rows(1)
vCol = Application.Match(CLng(Date), Rng, 0)
If Not IsError(vCol) Then
Application.Goto SH.Cells(1, 1)
With ActiveWindow
.SplitColumn = 1
.SplitRow = 0
.FreezePanes = True
End With
Application.Goto Cells(1, vCol), Scroll:=True
Else
Call MsgBox( _
Prompt:="La data odierna non è stata trovata!", _
Buttons:=vbCritical, _
Title:="PROBLEMA!")
End If
End With
End Sub
'<<=========
- Ctrl+R per accedere alla finestra Project Explorer ('Gestione progetti')
- Fai doppio clic sul modulo ThisWorkbook (Questa_cartella_di_Lavoro) del file e incolla il seguente codice:
'=========>>
Option Explicit
'--------->>
Private Sub Workbook_Open()
Call TrovaOggi
End Sub
'<<=========
- Salva il file con l’estensione xlsm
- Alt+Q per chiudere l'editor di VBA e tornare a Excel
Potresti scaricare il mio file di prova Giovanni20170804.xlsm
===
Regards,
Norman
