apri anno se data oggi



  • apri anno se data "oggi"
    di gianky (utente non iscritto) data: 06/02/2015 18:24:30

    Buongiorno a tutti,
    nel file allegato troverete una macro che nasconde tutte le righe le cui celle non sono popolate.
    Dopo averla applicata avrei necessità di un macro che nell’ordine esegua:
    1. Scoprire tutte le righe
    2. Raggruppare tutte le righe usando il tastino “1” sul lato in alto a dx del foglio
    3. Scoprire solo l’anno corrispondente alla data odierna, quindi nel caso di “oggi” il 2015
    4. Scoprire l’anno successivo, quindi nel caso di “oggi” il 2016
    Quindi il foglio ritorna nella situazione iniziale.
    Ovviamente l’anno di cui al punto 3 deve variare automaticamente di volta in volta considerando la data in cui si effettua la macro e di conseguenza anche il punto 4.
    Quindi quando saremo nel 2016, dovrà aprire 2016 e 2017
    Pensavo di mettere nel foglio una funzione “ANNO(OGGI()) e poi di metterla a confronto e con la macro aprire l’anno relativo e quello successivo
    Qualcuno può aiutarmi?

    Grazie



  • di Raffaele_53 (utente non iscritto) data: 06/02/2015 21:24:15

    Come mai ci sono altre righe piene dopo riga 1000?
    Non so cosa ci sia in questo foglio, mi da errore vba sul Date
    Ti consiglio di farlo ex novo

    Dato che conosci dove sono i record, invece di fare un ciclo suggerisco d'usare direttamente la stringa in Sub Scopri() adattata alle righe
     
    Sub nascondi()
    Rows("3:1048576").Hidden = True
    End Sub
    
    Sub Scopri()
    Rows("3:1048576").Hidden = False
    End Sub
    
    Sub Scopri_Anno()
    Dim Ur1 As Long, I  As Long, Anno As Long
    Ur1 = Range("A" & Rows.Count).End(xlUp).Row
    Anno = Year(Date)
    For I = 3 To 300 'Ur1
      If Year(Cells(I, 1)) <> Anno Then
       Cells(I, "A").EntireRow.Hidden = True
      End If
    Next I
    End Sub
    
    'questa riga per due anni
    If Year(Cells(I, 1)) = Anno Or Year(Cells(I, 1)) = Anno + 1 Then
    



  • di gianky (utente non iscritto) data: 07/02/2015 10:17:18

    Ciao Raffaele,

    ho rifatto il file ex novo cosi non dovresti trovare errori, troverai la macro che nasconde le righe se le celle non sono popolate.
    Dopo aver attivato la macro esistente, quello che mi servirebbe è una seconda macro unica che esegua nell'ordine:
    1. Scoprire tutte le righe
    2. Raggruppare tutte le righe usando il tastino “1” sul lato in alto a dx del foglio
    3. Scoprire solo l’anno corrispondente alla data odierna, quindi nel caso di “oggi” il 2015
    4. Scoprire l’anno successivo, quindi nel caso di “oggi” il 2016
    Quindi il foglio ritorna nella situazione iniziale.
    Ovviamente l’anno di cui al punto 3 deve variare automaticamente di volta in volta considerando la data in cui si effettua la macro e di conseguenza anche il punto 4.
    Quindi quando saremo nel 2016, dovrà aprire 2016 e 2017
    Saresti cosi gentile sa inserirmela nel foglio allegato?
    grazie



  • di Raffaele_53 (utente non iscritto) data: 07/02/2015 13:43:51

    Anche su questo ho l'errore (almeno sul mio PC), se Vuoi provare
    Dovrai aspettare qualcuno più bravo

    Ps comunque non credo si possano abbinare macro al pulsante 1 in alto/sinistra. Dovrai fare una serie di bottoni
     
    Option Explicit
    Public Sub m()
        MsgBox Year(Date)
    End Sub



  • di Raffaele_53 (utente non iscritto) data: 07/02/2015 13:52:06

    Ps sostituendo con MsgBox Year(DateTime.Date)
    Comunque sarebbe meglio mettere a posto l'errore prima di continuare, magari disinstallando EXCEL e Installandolo nuovamente



  • di gianky (utente non iscritto) data: 07/02/2015 14:27:44

    scusa ci ho capito poco...
    potresti allegarmi il file con dentro la macro?
    grazie



  • di Raffaele_53 (utente non iscritto) data: 07/02/2015 20:16:32

    >>>scusa ci ho capito poco...
    Ho scritto che sicuramente hai problemi col PC (credo)
    L'allegato rifatto ex-novo funziona, se da Te non và prova su altri PC